Welcome! Log In Create A New Profile

Advanced

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

July 29, 2011 06:12AM
On Fri, Jul 29, 2011 at 01:01:54PM +0400, Evgeny Sinelnikov wrote:
> Здравствуйте,
>
> 29 июля 2011 г. 11:34 пользователь Igor Sysoev <igor@sysoev.ru> написал:
> > On Fri, Jul 29, 2011 at 06:53:32AM +0400, Evgeny Sinelnikov wrote:
> >> Здравствуйте, Игорь,
> >>
> >> сегодня я написал письмо по поводу исправления nginx при использовании
> >> сервера для обновлений в ALT Linux. Написал и подумал, что стоило бы и
> >> вам отправить копию этого сообщения. Постфактум пересылаю уже
> >> отправленное сообщение, надеюсь мои соображения смогут найти отражение
> >> при доработках сервера nginx.
> >
> > Спасибо.
>
> И вам, спасибо... Мне тут коллеги подсказали, что стоило бы сразу
> писать в рассылку:
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> Делаю копию в nginx-ru@
>
> > Lingering close не связан с SO_LINGER, про него можно почитать
> > здесь (во второй ссылке много всего, нужно искать lingering close):
> > http://sysoev.ru/web/upload.html
> > http://httpd.apache.org/docs/1.3/misc/perf-tuning.html
> >
> > Тут похоже на проблему с pipelined.
> > Скорее всего, в следующей версии будет исправлено.
>
> Это было бы замечательно. Хотя, на счёт того, что "Lingering close не
> связан с SO_LINGER" мне не совсем понятно. Ведь как раз во второй
> ссылке есть такое: "There are two ways of accomplishing this. One is
> the socket option SO_LINGER. But as fate would have it, this has never
> been implemented properly in most TCP/IP stacks."

Проблема в том, что SO_LINGER не решает проблему закрытия соединения
при взаимодействии сервера и типичного браузера. Поэтому в Апаче и была
придумана процедура, называемая lingering close и не имеющая никакого
отношения к SO_LINGER: SO_LINGER после закрытия сокета передаёт данные
клиенту в течение 30 секунд (по умолчанию), а потом закрывает соединение.
Причём, если клиент что-то пришлёт во время этой передачи или же
в буфере ядра на момент закрытия сокета есть непрочитанные сервером
данные, но SO_LINGER шлёт наблюдаемый RST. Апачевский же lingering close
данные клиента просто читает и игнорирует, поэтому в течение 30 секунд
RST не наблюдается.

> Кроме того, я на тесте проверил, что это именно проблема слишком
> раннего закрытия. Мне пришлось убрать lingering_close, поскольку когда
> заканчивается keep alive time соединение сразу закрывается, а значение
> lingering_timeout игнорируется. В большинстве случаев (не всегда) у
> меня это приводит к тому, что клиентская сторона фиксирует обрыв
> соединения со стороны сервера.

Это происходит из-за pipelined запросов со стороны клиента.


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

_______________________________________________
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: 136
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