Re: Re[2]: скорость проксирования в связке nginx + proxy_pass + Tomcat

Alexey V. Karagodov kav at karagodov.name
Sun Apr 19 17:45:08 MSD 2009


а время "общения" с бекендом на один запрос можешь измерить?
т.е. сколько времени нгинх тратит на обработку всего запроса клиента

On 19.04.2009, at 17:10, BestPersons.ru wrote:

> Здравствуйте, Alexey.
>
> Nginx не кладет ответы на диск в моем случае.
т.е. совсем нет файликов в proxy_temp_path ?

> Если сделать 1 воркер, то скорость падает до 1400 запросов в секунду.
> Увеличение буфферов прокси ситуацию не меняют.
>
>
> Вы писали 19 апреля 2009 г., 16:37:30:
>
>> есть подозрение, что нгинх кладёт часть или большую часть
>> проксированных ответов на диск, ибо в память не влазит
>> 3 вокера здесь много, 1 - максимум
>> можно попробовать увеличить буфера прокси, но тогда нгинх будет  
>> просто
>> неприлично много кушать памяти
>
>> On 19.04.2009, at 16:04, BestPersons.ru wrote:
>
>>> Здравствуйте.
>>>
>>> Недавно столкнулся с проблемой, есть Apache Tomcat 6, отдает
>>> страницы со скоростью 5500 req/sec (100 параллельных клиентов)
>>>
>>> Если перед ним поставить nginx на той же машине, то скорость  
>>> падает до
>>> 2000 req/sec.
>>>
>>> Получается nginx с proxy_pass более чем в 2 раза снижает скорость,  
>>> мне
>>> это кажется странным.
>>>
>>> Так и должно быть?
>>>
>>> Крутил различные параметры конфига nginx - не помогает. В error.log
>>> ошибок при бенчмарке не появляется. Бенчмарк запускается по 100 Mb
>>> сети с
>>> другой машины, в сеть не упирается.
>>>
>>> Бенчмарк вызывается следующей коммандой: httperf --server
>>> 192.168.0.10 --port 80 --uri / --num-conn 100 --num-call 100 --rate
>>> 100 --timeout 5
>>>
>>> Машинка: AMD Athlon 64 X2 Dual Core Processor 5200+, 2Gb RAM
>>>
>>> nginx.conf:
>>> user  nobody;
>>> worker_processes  3;
>>> worker_rlimit_core 2000M;
>>>
>>> error_log  logs/error.log;
>>> pid        logs/nginx.pid;
>>>
>>>
>>> events {
>>>   worker_connections  50000;
>>>   use epoll;
>>> }
>>>
>>>
>>> http {
>>>   server_names_hash_max_size 10000;
>>>   server_names_hash_bucket_size 256;
>>>   client_max_body_size 5m;
>>>
>>>   log_format IP '$remote_addr';
>>>   server_tokens off;
>>>   reset_timedout_connection on;
>>>
>>>   include       mime.types;
>>>   default_type  application/octet-stream;
>>>
>>>   sendfile        on;
>>>   tcp_nopush     on;
>>>   tcp_nodelay     on;
>>>
>>>   keepalive_timeout  70;
>>>
>>>   access_log off;
>>>   recursive_error_pages on;
>>>
>>>   upstream bpbackends {
>>>        server 127.0.0.1:8080;
>>>   }
>>>
>>>   server {
>>>       listen 80;
>>>       server_name  localhost;
>>>
>>>       location / {
>>>           proxy_pass   http://bpbackends;
>>>           proxy_set_header    Host    $host;
>>>           proxy_set_header X-Forwarded-For $remote_addr;
>>>       }
>>>   }
>>> }
>>>
>>> C уважением,
>>> Александр.
>>>
>>>
>>>
>
>






More information about the nginx-ru mailing list