ПРОЕКТЫ 


  АРХИВ 


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: Re[6]: скорость прокс ирования в связке nginx + proxy_pass + Tomcat




On 19.04.2009, at 23:28, BestPersons.ru wrote:

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

"$request_time, время обработки запроса в секундах с точностью до миллисекунд;"
показывает от 1 ms до 98 ms, в среднем около 7 ms
это соответствует действительности?
а что говорит по этому поводу апаче/томкат? сколько он тратит времени на запрос?




возможно это долго и следует попробовать увеличить кол-во вокеров о_О ...


Вы писали 19 апреля 2009 г., 18:57:51:

в лог можно записать
http://sysoev.ru/nginx/docs/http/ngx_http_log_module.html#log_format
можно на стороне бекенда наверно тоже

On 19.04.2009, at 18:29, BestPersons.ru wrote:

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

А как это можно измерить, менять исходники nginx?

Вы писали 19 апреля 2009 г., 17:45:08:

а время "общения" с бекендом на один запрос можешь измерить?
т.е. сколько времени нгинх тратит на обработку всего запроса клиента

On 19.04.2009, at 17:10, BestPersons.ru wrote:

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

Nginx не кладет ответы на диск в моем случае.
т.е. совсем нет файликов в proxy_temp_path ?

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













 




Copyright © Lexa Software, 1996-2009.