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

Arkadiy Kulev eth at ethaniel.com
Wed Sep 5 18:31:35 MSD 2007


Hello umask,

все файлы берутся с одного подключенного внешнего хранилища.
причем если запустить еще один nginx - доступ к файлам будет
мгновенный, без задержек.

проблема в самом nginx - как он обрабатывает запросы.
такое предположение, честно я не спец, что он "подвисает" на одних
запросах и поэтому временно притормаживает другие.
то есть скорость не всегда падает в ноль, бывает что она просто
понижается до 60к к примеру.

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  9  10084   9744   6264 808616   22   13  2087   920   11    8 17  6 34 43  0
 0 13  10084   9904   6272 807308    0    0  6144   314 9192 1028  7  6 11 76  0
 0  3  10084   9416   6272 804308    0    0  2856  1883 7631  981 12  5 16 66  0
 0  9  10084   9108   6268 796148    0    0  2944   122 11807 1190 13  9 19 60  0
 0 11  10084  12312   6272 795780    0    0  6868   206 9609  821  6  6  7 81  0
 0  8  10084   9412   6272 798724    0    0  4744  1184 6327  917  3  3  8 86  0

с памятью проблем нет, там стоит 1 гигабайт, который не свопится (10
мегабайт принципиальным свопом не считаю).





Wednesday, September 5, 2007, 4:48:33 PM, you wrote:

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



> а откуда у вас беруться эти самые изображения и тот 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;



-- 
Best regards,
 Arkadiy                            mailto:eth at ethaniel.com






More information about the nginx-ru mailing list