ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



29 июля 2011 г. 14:10 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
> On Fri, Jul 29, 2011 at 01:01:54PM +0400, Evgeny Sinelnikov wrote:
>> Здравствуйте,
>>
>> 29 июля 2011 г. 11:34 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
>> > 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 запросов со стороны клиента.
>

Я, видимо, недостаточно в теме... ;)
Мне непонятно, что такое "pipelined запросы", поэтому у меня свои
догадки возникают... Готов вам довериться, особенно, если всё
заработает с новым патчем... ;)


-- 
Sin (Sinelnikov Evgeny)
Etersoft
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.