откровенно говоря не помню :(
из системных библиотек вроде ничего не менялось
как впрочем и ядро. что собственно и удивляет.
вот что происходит в данный момент
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
Правильно ли я понимаю, что на протяжении всего времени получения этих
strace'ов, nginx тормозил с отдачей ?
На всех процессорах очень большое время wa - idle while waiting on disk i/o.
Мне кажется, дело именно в этом. Косвенно об этом же говорит возрастание
соединений в состоянии writing. Можно попробовать уменьшить число worker'ов
до одного, чтобы уменьшить конкурентность запросов к дискам. Кстати,
что за диски ?
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@xxxxxxxxxxxx