ПРОЕКТЫ 


  АРХИВ 


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: А fail_timeout в ngx_http_upstream_module работает?



Доброго времени суток.

nginx version: nginx/1.2.2
built by gcc 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)
configure arguments: --prefix=/opt/nginx --without-http_rewrite_module --without-http_gzip_module

nginx занимается только балансировкой каналов - перекидыванием на резервный, в случае недоступности основного.

Дмитрий

08.07.2012 19:43, Maxim Dounin пишет:
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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru



_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru



_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.