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

BestPersons.ru info at bestpersons.ru
Sun Apr 19 17:12:38 MSD 2009


Здравствуйте, 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