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

Kostya Alexandrov koticka at mail.ru
Sun Apr 19 16:42:21 MSD 2009


Соберите томкат с 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