ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: скорость прокси рования в связке ngin x + proxy_pass + Tomcat



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

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 уважением,
  Александр.











 




Copyright © Lexa Software, 1996-2009.