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