Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Очень мног о waiting connections
On Sat, Sep 08, 2007 at 06:28:31PM +0400, umask wrote:
> В продолжение темы...
>
>
> у меня аналогичная проблема:
>
> http://rupochta.ru/nginx_status
>
>
> Число Active connections постоянно растёт.
>
> При этом рестарт nginx'а обнуляет счётчик. И нету ни по логам, ни по
> популярности сервиса у нас 60 тыс. соединений.
>
>
>
> # ps aux | grep nginx
>
> root 15891 0.0 0.0 7228 400 ? Ss Sep06 0:00 nginx:
> master process nginx
>
> nginx 15892 0.0 0.1 7904 2340 ? S Sep06 0:26 nginx:
> worker process
>
> nginx 15893 0.0 0.1 7720 2220 ? S Sep06 0:23 nginx:
> worker process
>
> nginx 15894 0.0 0.1 7804 2276 ? S Sep06 0:24 nginx:
> worker process
>
> nginx 15895 0.0 0.1 7792 2216 ? S Sep06 0:24 nginx:
> worker process
>
>
>
> Как видно, воркеры не падают.
>
>
>
> # nginx -v
>
> nginx version: nginx/0.5.31
При использовании mail-модуля счётчик соединений не уменьшается при закрытии
соединения. Прилагаемый патч должен помочь. Можно накаладывать на 0.5.x.
> 30.07.07, 16:15, Igor Sysoev (is@xxxxxxxxxxxxx):
>
>
>
> > On Mon, Jul 30, 2007 at 04:01:05PM +0400, Alexey Belousov wrote:
>
> > > Igor Sysoev пишет:
>
> > > >Попробуйте 0.5.30.
>
> > > Попробовал:
>
> > >
>
> > > nginx version: nginx/0.5.30
>
> > > built by gcc 3.4.6 [FreeBSD] 20060305
>
> > > configure arguments: --with-http_stub_status_module --with-mail
>
> > > --with-http_ssl_module
>
> > >
>
> > > Все равно наблюдается та же тенденция:
>
> > >
>
> > > Active connections: 1381
>
> > > server accepts handled requests
>
> > > 29262 29262 123032
>
> > > Reading: 0 Writing: 4 Waiting: 1377
>
> > >
>
> > > Количество waiting и active соединений колеблется (плюс / минус десять),
>
> > > но неуклонно растет, примерно на тысячу в час.
>
> > А рабочие процессы, случаем, не падают ?
>
--
Игорь Сысоев
http://sysoev.ru
Index: src/mail/ngx_mail_handler.c
===================================================================
--- src/mail/ngx_mail_handler.c (revision 789)
+++ src/mail/ngx_mail_handler.c (working copy)
@@ -2100,6 +2100,10 @@
#endif
+#if (NGX_STAT_STUB)
+ ngx_atomic_fetch_add(ngx_stat_active, -1);
+#endif
+
c->destroyed = 1;
pool = c->pool;
|