скорость проксирования в связке nginx + proxy_pass + Tomcat

Kostya Alexandrov koticka at mail.ru
Sun Apr 19 19:03:43 MSD 2009


А перф гоняете локально или тоже по сети?

BestPersons.ru wrote:
> Здравствуйте, Kostya.
>
> Tomcat сейчас использует NIO коннектор.
> Бенчмарк томката на прямую с опцией --http-version=1.0 дает теже 5500 req/sec.
>
> Вы писали 19 апреля 2009 г., 16:42:21:
>
>   
>> Соберите томкат с apr, должно помоч, или с nio коннектором, но я не 
>> особо понял чем он лучше.
>> Проблема в том что Nginx не поддерживает кипалив с бекендом. 
>> Стандартному томкатовому коннектору становится плохо от такого.
>> Запустите прямо к томкату перф с
>>     
>
>   
>> --http-version=1.0
>>     
>
>   
>> результат должен быть около ваших 2000 реквестов/сек
>>     
>
>
>   
>> 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