Re: подвисшие waiting connections
Maxim Dounin
mdounin на mdounin.ru
Ср Окт 6 19:07:12 MSD 2010
Hello!
On Wed, Oct 06, 2010 at 08:40:10AM -0400, config.sys wrote:
> Здравствуйте,
>
> столкнулись с проблемой - nginx stub_status
> показывает ненормально большое кол-во
> active connections в состоянии waiting
>
>
> Active connections: 12708
> server accepts handled requests
> 3639587 3639587 6918616
> Reading: 162 Writing: 183 [color=#FF0000]Waiting: 12363[/color]
>
> при этом по данным netstat к-во сетевых
> соединений не превышает 8000
>
> $ nginx -V
> nginx version: nginx/0.8.52
> built by gcc 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC)
> TLS SNI support enabled
> configure arguments: --user=owox --group=owox --prefix=/usr/share/nginx8
> --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf
> --error-log-path=/var/log/nginx/error.log
> --http-log-path=/var/log/nginx/access.log
> --http-client-body-temp-path=/var/lib/nginx/tmp/client_body
> --http-proxy-temp-path=/var/lib/nginx/tmp/proxy
> --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi
> --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx
> --with-http_ssl_module --with-http_realip_module
> --with-http_addition_module --with-http_sub_module
> --with-http_dav_module --with-http_flv_module
> --with-http_gzip_static_module --with-http_random_index_module
> --with-http_secure_link_module --with-http_stub_status_module
> --with-mail --with-mail_ssl_module --with-ipv6
>
>
> лечится только рестартом nginx, если не
> рестартовать - может и до нескольких
> сотен тысяч дойти
>
> рост к-ва активных соединений nginx в
> течении суток:
> [img]http://62.149.5.84/i5/28/81/568128/nginx-status.jpg[/img]
> провалы - это перезапуск nginx
Ступенчатый рост графика наводит на мысли что worker'ы падают. В
логах ничего подозрительного нет?
> а вот данные по netstat:
> [img]http://i.piccy.info/i5/38/81/568138/netstat-status..png[/img]
>
> читал (http://markmail.org/message/mxsodmwmabogdphr) про
> похожую проблему, которая была вроде
> как решена в 0.5.3, но все почему-то
> закончилась отключением keepalive, чего
> делать бы не хотелось.
>
> мы давно пользуемся nginx, но ранее с
> такой проблемой не сталкивались, ни в
> 0.5, ни в 0.6
> в другом месте читал что вроде как эти
> числа ни на что не влияют, растут себе и
> растут, но в нашем случае через
> некоторое время в логи начинают
> сыпаться ошибки - worker connections not enough (4
> воркера, 4096 worker_connections), после рестарта -
> все отлично
4x4096 - это 16k соединений максимум, т.е. до сотен тысяч дойти
никак не может. Т.е. видимо мысль правильная, и воркеры падают.
Сообщения "worker connections are not enough" похожи на честные -
равномерного распределения по воркерам вообще говоря никто не
обещал.
> проявление проблемы совпало с
> изменениями в конфигурации nginx,
> связанных с использованием нескольких
> fastcgi backends и использованием fastcgi_cache. на
> тот момент версия была 0.7.62
>
> что можете подсказать для решения
> проблемы?
http://wiki.nginx.org/NginxDebugging
Maxim Dounin
Подробная информация о списке рассылки nginx-ru