upstream module + backup servers

anon nginx-forum на nginx.us
Чт Ноя 17 14:35:24 UTC 2011


Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
> 
> On Thu, Nov 17, 2011 at 07:12:13AM -0500, anon
> wrote:
> 
> > Здравствуйте уважаемые.
> Заметил одну
> > вещь, и не могу пока
> понять? 
> > Есть один nginx и несколько
> 5-7 бекендов,
> > некоторые из них
> самостоятельно
> > "опускаются" в случае
> отсутвия
> > нагрузки. 
> > 
> > Так вот я свято верил, что
> когда nginx
> > получает от опущенного
> бекенда 50X или
> > вообще его не видит, то он
> даже не
> > пытается пускать туда
> трафик\людей. На
> > практике оказалось что:
> > 
> > request_time 21.142-->10.46.237.50:8081,
> 10.108.198.171:8081
> > 
> > Как видно мы пытаемся
> сначала пойти на
> > бекенд, который давно в
> опущен и потом
> > только на рабочий.
> > 
> > Это баг или фича, и чего то
> недопонял?
> > 
> > Используется nginx/1.0.9,
> upstream_module, метод
> > ip_hash
> 
> О том, что бекенд выключен,
> nginx узнает, только отправив
> на этот 
> бекенд какой-то из запросов
> клиентов, и получив ошибку
> (точнее, 
> заданное количество
> ошибок).  Пока этого не
> произошло - бекенд 
> считается работающим, и
> нагрузку на него
> отправляют в обычном 
> порядке.
> 
> (После того как произошло -
> бекенд будет считаться
> неработающим 
> в течении времени fail_timeout
> для данного бекенда, по
> умолчанию 
> 10 секунд.  Подробнее см. [1].)
> 
> [1]
> http://nginx.org/ru/docs/http/ngx_http_upstream_mo
> dule.html#server
> 
> Maxim Dounin
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Т.е. правильно ли я понимаю, что если
планируется выключать бекенд на долго,
то лучше менять в конфиге эти сервера
на down, т.к. в любом случае после времени
заданном в fail_timeout nginx будет снова
пытаться отправить туда пакеты, что бы
проверить состояние сервера? Что будет
создавать нежелательную задержку
некоторых пакетов например раз в 30 сек,
если задана директива fail_timeout=30s.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,218478,218490#msg-218490



Подробная информация о списке рассылки nginx-ru