Persistent connnection
Kostya Alexandrov
koticka at mail.ru
Fri Dec 21 18:59:20 MSK 2007
Постоянное соединение nginx с бекендом. использовать пул сокетов.
Примеры слать ненадо, до того как ковырять, очень внимательно изучи то
что ковыряеш.
Имхо, "ковыряния" применимы только для локального нетворка.
Alexey V. Karagodov wrote:
> persistent соединение к чему?
>
> для уменьшения TIME_WAIT надо снижать тайм-ауты и пр (ковырять sysctl)
> там немного
> пример прислать?
>
> On 21.12.2007, at 16:58, Kostya Alexandrov wrote:
>
>> Оно мне нигде ничего не даст. С вероятностью 99.9(9) запрос будет
>> отослан. Вероятность того что НЕ будет, это nginx сломается.
>> Кроме того, как я писал, большущщая, просто огромная проблема в том
>> что бекенд пока на вендах. Линукс переваривает 15-20 тысяч тайм вейт
>> сокетов, ему конечно не очень хорошо... Венде "капец" при подобной
>> загруке. Увеличением количества процессоров не лечится. Будет
>> достаточно скооро вылечено переводом бекенда на линукс, но и ему не
>> очень хорошо. Персистент конекшен спасе бы даже венду.
>>
>> Andrey Ryabushenko wrote:
>>> Там же вманауле написано, чтобы уменьшить кол-во используемых
>>> сокетов, причём именно засчёт снижения сокетов в состоянии TIME_WAIT.
>>>
>>> В nginx включается очень просто
>>> http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#listen
>>> Часть про accept_filter.
>>>
>>> Но тебе он на бекенде нужнее, чем на фронтенде.
>>>
>>> В сообщении от 20 декабря 2007 14:38 Kostya Alexandrov написал(a):
>>>
>>>> Что это такое теперь понял, а вот зачем такое может понадобится нет.
>>>>
>>>> Andrey Ryabushenko wrote:
>>>>
>>>>> http://www.freebsd.org/cgi/man.cgi?query=accf_http
>>>>>
>>>>> Фильтр не даст приложению соединение пока на нем не покажется
>>>>> полностью
>>>>> законченный HTTP запрос. Приложению не приходится ждать запроса с
>>>>> сокета,
>>>>> что и создано для того чтобы приложение получало сокет когда он ему
>>>>> нужен, а не в состоянии TIME_WAIT и потом жди у моря погоды когда же
>>>>> запрос наконец-то появится.
>>>>>
>>>>> В сообщении от 19 декабря 2007 13:57 Kostya Alexandrov написал(a):
>>>>>
>>>>>> А можно поинтересоваться что это такое и как это может помоч?
>>>>>>
>>>>>> Andrey Ryabushenko wrote:
>>>>>>
>>>>>>> IMO тебе здесь надо http_accept_filter включить, прич ём как
>>>>>>> на nginx
>>>>>>> так и на бэкенде, и этого вполне может хватить для решения
>>>>>>> проблемы.
>>>>>>>
>>>>>>> В сообщении от 17 декабря 2007 22:22 Kostya Alexandrov написал(a):
>>>>>>>
>>>>>>>> Поднимаю тему опять. Паплайнинг уже не прошу, не надеюсь.
>>>>>>>> Проблемы с медленными акцептами на яве решили. Написанием
>>>>>>>> собственного
>>>>>>>> маленького http servlet engine.
>>>>>>>> Работает замечательно.
>>>>>>>>
>>>>>>>> Но ничего не могу сделать с TIME_WAIT сокетами. Если бекенд на
>>>>>>>> линуксе, то еще хоть как то жизненно, tcp_tw_recycle,
>>>>>>>> tcp_tw_reuse для
>>>>>>>> локального нетворка можно использовать, для глобальной сети
>>>>>>>> (клиенты
>>>>>>>> из интернета) чревато чудесами. Всеровно тормозит когда сокетов
>>>>>>>> в time_wait становится около 10К.
>>>>>>>>
>>>>>>>> Однако если бекенд на "венде" то полный привет... 18К сокетов в
>>>>>>>> time_wait, тормозит....
>>>>>>>> TcpTimedWaitDelay скручен в 30 секунд. Помогает но не сильно.
>>>>>>>>
>>>>>>>> За "персистент" конекты к бекенду готов даже бетту в продакшн
>>>>>>>> выставить.
>>>>>>>>
>>
>
More information about the nginx-ru
mailing list