ПРОЕКТЫ 


  АРХИВ 


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: несколько fastcgi сервер ов



31.08.2008 16:58, Gena Makhomed wrote:
On Sunday, August 31, 2008 at 16:01:52, Alex Vorona wrote:
AV> если не делать accept - будет расти backlog и всё,
AV> запросы не будут перенаправляться на другие бекенды.

зачем перенаправлять запросы на другие backend`ы,
если там примерно такая же ситуация с нагрузкой?
если такая же, то смысла нет

AV> Как я понимаю, хочется же дать знать nginx'у,
AV> что больше запросов на этот бекенд пока не надо посылать.

в результате еще больше вырастет нагрузка на остальные backend`ы,
они также с ней не смогут справиться и перейдут в состояние "failed".

через короткий промежуток времени живых backend`ов вообще не останется.
все клиенты будут получать на свои запросы 503 ошибку. DOS-атака удалась.
от висящих в backlog коннектов, которые не accept'ятся, разве будет легче? Клиенты(все) не получат ничего хорошего в любом случае, если скорость поступления входящих запросов превышает скорость их обработки. Только в случае прохождения всех запросов через backlog бекенда клиент должен ждать больше, и может не дождаться. В случае 503 и max_fails=0 nginx будет перебирать все бекенды, возвращая части клиентов 503, а остальным предоставляя нормальный сервис без ожидания запроса в backlog бекенда, как только осободившийся бекенд вместо 503 взял запрос в работу. Если от перебора со стороны nginx бекенды не загнутся, конечно :)

AV> Выдача ошибки, по которой nginx пойдёт к следующему бекенду и забудет
AV> про перегруженней бекенд на нужное время - вполне мне кажется решением.

это может быть решением, если один запрос обрабатывается 20-30 секунд,
и у сервера есть в наличии большое количество простаивающих backend`ов

если backend`ы single-threaded, - для этого случая есть модуль 
nginx-upstream-fair
необработанные клиентские запросы будут ожидать, пока освободится какой-то 
backend.





 




Copyright © Lexa Software, 1996-2009.