ПРОЕКТЫ 


  АРХИВ 


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: Persistent connnection



Постоянное соединение 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 секунд. Помогает но не сильно.

За "персистент" конекты к бекенду готов даже бетту в продакшн
выставить.






 




Copyright © Lexa Software, 1996-2009.