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

BestPersons.ru info at bestpersons.ru
Sun Apr 19 16:04:57 MSD 2009


Здравствуйте.

Недавно столкнулся с проблемой, есть 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