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

BestPersons.ru info at bestpersons.ru
Sun Apr 19 17:10:07 MSD 2009


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

Nginx не кладет ответы на диск в моем случае.
Если сделать 1 воркер, то скорость падает до 1400 запросов в секунду.
Увеличение буфферов прокси ситуацию не меняют.


Вы писали 19 апреля 2009 г., 16:37:30:

> есть подозрение, что нгинх кладёт часть или большую часть  
> проксированных ответов на диск, ибо в память не влазит
> 3 вокера здесь много, 1 - максимум
> можно попробовать увеличить буфера прокси, но тогда нгинх будет просто
> неприлично много кушать памяти

> On 19.04.2009, at 16:04, 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