Welcome! Log In Create A New Profile

Advanced

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Maxim Dounin
July 29, 2011 09:06AM
Hello!

On Fri, Jul 29, 2011 at 04:41:39PM +0400, Evgeny Sinelnikov wrote:

> 29 июля 2011 г. 16:24 пользователь Maxim Dounin <mdounin@mdounin.ru> написал:
> > Hello!
> >
> > On Fri, Jul 29, 2011 at 03:00:45PM +0400, Evgeny Sinelnikov wrote:
> >
> >> Кстати, связка "lingering_close always" и "lingering_timeout 0"
> >> приводит к ещё более страшным последствиям... ;)
> >
> > Всмысле?
>
> Ну, вроде ожидание включено, а таймаут равен нулю. Противоречивая пара настроек.

Начинает ожидать (и даже вычитывает из сокета, если есть что), но
сразу за этим срабатывает таймаут. Тут я проблем не вижу,
наоборот - предыдущий подход с lingering_timeout 0 отключающим
lingering мне кажется странным.

Вопрос был именно о том, к каким "более страшным последствиям" это
приводит.

> > В сочетании с reset_timedout_connection могут быть неприятные эффекты - будет
> > закрывать соединения с RST, ибо таймаут истекает сразу.  Впрочем, то же будет
> > иметь место и при не-нулевом таймауте.  Наверное имеет смысл ещё вот такой
> > патч:
> >
> > diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
> > --- a/src/http/ngx_http_request.c
> > +++ b/src/http/ngx_http_request.c
> > @@ -2779,7 +2786,6 @@ ngx_http_lingering_close_handler(ngx_eve
> >                    "http lingering close handler");
> >
> >     if (rev->timedout) {
> > -        c->timedout = 1;
> >         ngx_http_close_request(r, 0);
> >         return;
> >     }
> >
>
> Это я сегодня проверить уже не успею... Каковы условия проверки, тоже
> не совсем понял. "reset_timedout_connection on" и "lingering_timeout
> 0" без этого патча может может себя вести не корректно, так?

При и "reset_timedout_connection on;" соединение закрывается с RST
если использовался lingering close и истёк lingering_timeout.
Проблема как раз должна хорошо воспроизводится при использовании

reset_timedout_connection on;
lingering_close always;
lingering_timeout 0;

в конфиге (собственно, я предполагаю что под "более страшными
последствиями" выше имеется ввиду именно эта проблема).

Патч отключает reset_timedout_connection если таймаут случился при
lingering close, т.е. проблема должна перестать воспроизводится.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: Fwd: Nginx при обновлении большого числа пакетов APT Attachments

Evgeny Sinelnikov July 29, 2011 05:04AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Maxim Dounin July 29, 2011 05:32AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Evgeny Sinelnikov July 29, 2011 07:02AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Maxim Dounin July 29, 2011 08:26AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Evgeny Sinelnikov July 29, 2011 08:44AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Maxim Dounin July 29, 2011 09:06AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Igor Sysoev July 29, 2011 06:12AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Evgeny Sinelnikov July 29, 2011 06:48AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Igor Sysoev July 29, 2011 07:16AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Evgeny Sinelnikov July 29, 2011 08:16AM

Re: Fwd: Nginx при обновлении большого числа пакетов APT

Igor Sysoev July 29, 2011 08:20AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 167
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready