Re: nginx подтормаживает.

umask umask at yandex.ru
Wed Sep 5 16:48:33 MSD 2007


Добрый день,



а откуда у вас беруться эти самые изображения и тот 4-х мегабайтный файл? С диска, из ram-диска?



Что показывает `vmstat 1' в течение эксперимента +\- пол минуты?



Во время эксперимента есть какие-то сообщение в access и error логах?



05.09.07, 16:35, Arkadiy Kulev (eth at ethaniel.com):



> День добрый,

> уже писал раньше, думал решил проблему, а оказывается нет.

> у меня nginx отдает 80-100 изображений в секунду на 10 worker-ах.

> стоит limit_rate 100k.

> начинаю с этого сервера скачивать большой файл на 4 мегабайта.

> первые несколько секунд нормально по 100к в секунду.

> потом вдруг замирает на пару секунд и сразу отдает к примеру 400к,

> дальше по 100к опять нормально.

> иногда эти замирания с падением скорости происходят секунд 5.

> сетка одна, на нее валить.

> sendfile_max_chunk и sndbuf не помогают вообще.

> очень обидно, что все эти параметры тюнинга настроек очень сухо или

> вообще не описаны в документации.

> конфига:

> user web web;

> timer_resolution  1000ms;

> #worker_priority 5;     

> worker_processes 10;

> #worker_rlimit_nofile 60000;

> worker_rlimit_nofile 10240;

> worker_rlimit_sigpending 32768;

> pid /var/run/nginxstorage.pid;

> error_log  /home/nginxstorage.err;

> events {

>         worker_connections   1024;

>         use epoll;

> }

>         proxy_buffering on;

>         proxy_temp_path  /ram;

>         proxy_buffers 30 8k;

>         proxy_connect_timeout 10;

>         proxy_read_timeout 60;

>         proxy_send_timeout 60;

>         #sendfile_max_chunk 128k;

>         limit_rate  100k;

>         access_log off;

>         include       mime.types;

>         default_type  application/octet-stream;

>         log_format main      '$remote_addr - $remote_user [$time_local] '

>         '"$request" $status $bytes_sent '

>         '"$http_referer" "$http_user_agent" '

>         '"$gzip_ratio"';

>         log_format download  '$remote_addr - $remote_user [$time_local] '

>         '"$request" $status $bytes_sent '

>         '"$http_referer" "$http_user_agent" '

>         '"$http_range" "$sent_http_content_range"';

>         client_header_timeout  3m;

>         client_body_timeout    3m;

>         send_timeout           3m;

>         client_header_buffer_size    4k;

>         large_client_header_buffers  16 8k;

>         client_max_body_size 220m;

>         #output_buffers   32 10k;

>         postpone_output  1460;

>         sendfile         on;

>         tcp_nopush       on;

>         tcp_nodelay      on;

>         keepalive_timeout  10;

>         server {

>                 listen 89.188.102.68:80 default sndbuf=512k backlog=3000;





More information about the nginx-ru mailing list