Re[3]: странности в работе nginx

Alexey Bestciokov proforg at maloletka.ru
Mon Apr 25 01:41:03 MSD 2005


да, именно
waitin on disk io действительно большое, по моему не запредельное .
траффик ~ 80 мб, диски - scsi U320 10 000 RMP
на дисковую подсистему не похоже - на сервере где узким место является
гарантированно именно дисковая подсистема, картина другая.
опять же получаемая картина нелинейна - количество коннектов растёт
скачкообразно.
изначально воркеров было 2 - это в процессе экспериментов увеличилось
до 5-8, так при таком количестве nginx визуально адекватнее отвечал.

странно что появляется задержка при ответе на stub_status -
операции не требующщей чтения с дисков. и почему в выводе стрэйса
задержки ... и то что колиство соединений которое показывает nginx
почти в 2 раза больше чем показывает netstat.







IS> On Sun, 24 Apr 2005, Alexey Bestciokov wrote:

>> откровенно говоря не помню :(
>> из системных библиотек вроде ничего не менялось
>> как впрочем и ядро. что собственно и удивляет.
>>
>> вот что происходит в данный момент
>>
>> Active connections: 3286
>> server accepts handled requests
>> 208924 208924 581314
>> Reading: 25 Writing: 2417 Waiting: 844
>>
>> время на получения stub_status - от 5 до 15 секунд
>> в то же время получение apache server-status ~0.02 секунды
>>
>> листинг процессов nginx:
>>
>>  PID  PPID USER     %CPU   VSZ WCHAN  COMMAND
>> 4837     1 root      0.0  3280 rt_sig nginx: master process /usr/local/sbin/nginx
>> 4838  4837 www-data  0.9  9132 -      nginx: worker process
>> 4839  4837 www-data  0.9  8808 sync_p nginx: worker process
>> 4840  4837 www-data  0.8  8432 sync_p nginx: worker process
>> 4841  4837 www-data  1.0 10068 sync_b nginx: worker process
>> 4842  4837 www-data  0.9  8572 sync_p nginx: worker process
>> 4843  4837 www-data  0.9  9224 -      nginx: worker process
>> 4844  4837 www-data  0.9  8444 sync_p nginx: worker process
>> 4845  4837 www-data  0.9  8816 sync_b nginx: worker process
>> 18033  5815 root      0.0  1628 pipe_w grep -E (nginx|PID)
>>
>> strace'ы живут тут: http://maloletka.ru/strace.nginx.1.bz2 и
>> http://maloletka.ru/strace.nginx.2.bz2
>>
>> пока их сливал заметил что они в какойто момент "затыкаются"
>> в 22:45:32.583370 и 22:42:39.632507 на первом и втором соотв.
>>
>> загрузка процессора:
>>
>> top - 22:50:15 up  8:21,  6 users,  load average: 13.92, 13.25, 13.14
>> Tasks: 273 total,   2 running, 268 sleeping,   0 stopped,   3 zombie
>> Cpu0  : 12.8% us,  4.4% sy,  0.3% ni, 10.8% id, 63.1% wa,  0.7% hi,  7.9% si
>> Cpu1  :  8.3% us,  2.2% sy,  0.1% ni, 32.4% id, 56.7% wa,  0.0% hi,  0.3% si
>> Cpu2  : 12.8% us,  2.7% sy,  0.1% ni, 33.5% id, 43.4% wa,  0.5% hi,  7.1% si
>> Cpu3  :  9.1% us,  1.8% sy,  0.1% ni, 49.7% id, 39.1% wa,  0.0% hi,  0.3% si
>> Mem:   2076808k total,  2026072k used,    50736k free,    56228k buffers
>> Swap:  2097136k total,    29440k used,  2067696k free,  1521996k cached

IS> Правильно ли я понимаю, что на протяжении всего времени получения этих
IS> strace'ов, nginx тормозил с отдачей ?

IS> На всех процессорах очень большое время wa - idle while waiting on disk i/o.
IS> Мне кажется, дело именно в этом. Косвенно об этом же говорит возрастание
IS> соединений в состоянии writing. Можно попробовать уменьшить число worker'ов
IS> до одного, чтобы уменьшить конкурентность запросов к дискам. Кстати,
IS> что за диски ?

>> IS> On Sun, 24 Apr 2005, Alexey Bestciokov wrote:
>>
>>>> И, в последнее время, появилась ещё одна особенность.
>>>> судя по выводу stub_status резко возрасло количество Active connections
>>>> если раньше оно было в пределах 2-3K, то в сейчас возрасло до 8K
>>>> что странно, т.к. нагрузка на сервер, судя по трафику,
>>>> увеличилась процентов на 10, не больше
>>>> более того, как показывает netstat коннектов к серверу на 80й
>>>> порт практически в 2 раза меньше.
>>>> по графику который строится на основе вывода stub_status (
>>>> http://maloletka.ru/mrtg/nginx.status.html )
>>>> видно, что после перезапуска nginx какое то время количество
>>>> Active connections остается в разумных рамках,
>>>> после чего скачкообразно возрастает. Оно и бог бы с ним, но
>>>> nginx начинает значительно медленне отвечать на запросы -
>>>> тотже stub_status отдается по нескольку секунд. Апач запущщеный
>>>> на этом же сервере при этом отдает контент без задержек.
>>>> в какойто степени это вылечилось увеличением количества
>>>> воркеров - 8 вместо двух, но видимо дело в чём то другом.
>>
>> IS> 1) были ли какие-нибудь изменения, после которых страли расти Active
>> IS>     connections ? Версии nginx, Линукса ?
>>
>> IS> 2) когда nginx медленно отдаёт азпросы, что происходит с процессором ?
>> IS>     Нужен strace процессов в такой ситуации.
>>
>>
>> IS> Игорь Сысоев
>> IS> http://sysoev.ru
>>
>>
>>
>> Алексей Бещёков.
>> proforg at maloletka.ru
>>
>>
>>
>>
>>

IS> Игорь Сысоев
IS> http://sysoev.ru



Алексей Бещёков.
proforg at maloletka.ru






More information about the nginx-ru mailing list