Re: А fail_timeout в ngx_http_upstream_module работает?

Maxim Dounin mdounin на mdounin.ru
Вс Июл 8 15:43:50 UTC 2012


Hello!

On Sun, Jul 08, 2012 at 01:40:25PM +0400, Dmitry Y. Labutin wrote:

> Да, логи были после сразу после рестарта nginx. Но вот уже прошло
> несколько часов и обращения стали конечно реже, но все равно
> значительно чаще чем раз в 10 минут:
> 2012/07/08 13:29:30 [error] 10901#0: *163989 connect() failed (110:
> Connection timed out) while connecting to upstream
> 2012/07/08 13:29:30 [error] 10901#0: *163994 connect() failed (110:
> Connection timed out) while connecting to upstream
> 2012/07/08 13:29:33 [error] 10901#0: *164029 connect() failed (110:
> Connection timed out) while connecting to upstream

nginx какой версии?

[...]

Maxim Dounin

p.s. Please do not top-post.  Thank you.

> 
> Дмитрий
> 
> 08.07.2012 13:16, Maxim Dounin пишет:
> >Hello!
> >
> >On Sun, Jul 08, 2012 at 09:47:09AM +0400, Dmitry Y. Labutin wrote:
> >
> >[...]
> >
> >>     upstream backend {
> >>	server www4.company.ru backup;
> >>	server www1.company.ru fail_timeout=600s;
> >>	
> >>	keepalive 64;
> >>     }
> >
> >[...]
> >
> >>Именно сейчас www1.company.ru недоступен - лег канал.
> >>Я надеялся, что попытки nginx отправить запрос пользователей через
> >>www1.company.ru будут идти раз в 10 минут, но на деле, там очень
> >>много вот такого в error.log:
> >>2012/07/08 09:42:02 [error] 10904#0: *5715 connect() failed (110:
> >>Connection timed out) while connecting to upstream, client:
> >>212.33.247.144, ...
> >
> >[...]
> >
> >>2012/07/08 09:42:10 [error] 10904#0: *5737 connect() failed (110:
> >>Connection timed out) while connecting to upstream, client:
> >>85.26.234.5, ...
> >>
> >>
> >>Вопрос - почему nginx делает так много попыток соединения через
> >>www1.company.ru ? Ведь он же получил Connection timed out и должен
> >>был в соответствии с fail_timeout=600s 10 минут туда не соваться!!!
> >>Или я что-то не так настроил?
> >
> >Канал лёг когда?  По получению первой ошибки nginx перестаёт
> >отправлять запросы на недоступный бекенд, но уже отправленные -
> >продолжают ждать таймаутов и соответственно отмечаться в error
> >log'е когда дождутся.  В вашем случае proxy_connect_timeout
> >используется по умолчанию, 60 секунд, так что приведённая выдержка
> >из лога не позволяет утверждать, что что-то не так.
> >
> >После того, как уже отправленные запросы кончаться - в современных
> >версиях будет 1 запрос на рабочий процесс в fail_timeout секунд.
> >
> >Maxim Dounin
> >
> >_______________________________________________
> >nginx-ru mailing list
> >nginx-ru at nginx.org
> >http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> 
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



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