Да
17 июня 2013 г., 17:53 пользователь Maxim Dounin <[email protected]>написал: > Hello! > > On Mon, Jun 17, 2013 at 04:09:19PM +0400, Андрей Урядов wrote: > > > Всем привет. > > > > Столкнулся с интересным поведением директивы max_fails в upstream. > > Версия nginx 1.2.6. > > Опишу ситуацию. > > > > 1. Nginx работает на сервере some_host1. Кусок конфига: > > upstream fpm { > > server <some_host1>:9000 weight=6; > > server<some_host2>:9000 weight=4; > > } > > 2. В какой-то момент some_host2 зависает (на уровне ОС), т.е. не отвечает > > на запросы. > > 3. В логах появляются строки "connect() failed (110: Connection timed > out) > > while connecting to upstream". Причем, я считал, что т.к. max_fails не > > указан, он равен 1, и, стало быть, таких строчек не должно быть, т.к. > nginx > > должен перекидывать всех на первый сервер. > > 4. some_host2 перестартует. На нем запускается fpm. > > 5. Но почему-то строки из лога не пропадают и клиентам отдаются ошибки. > > 6. Если перестартовать nginx, то он подцепит оба сервера, и все > продолжится > > в штатном режиме. > > > > > > Вопросы: > > 1. Почему после первого неудачного раза сервер не отрубается? Ведь > > max_fails равно 1. > > После того, как случилась ошибка - nginx будет посылать запросы на > "плохой" сервер раз в fail_timeout секунд (нюанс: из каждого > рабочего процесса). Если он успешно ответит на запрос - то будет > вновь включён в работу. > > > 2. Почему после рестарта сервера nginx его не видит? Он же продолжает его > > дергать, и мог бы понять, что сервер восстановился. > > Если продолжают происходить ошибки - значит, он как-то странно > восстановился. Возможно, у него в процессе поменялся ip-адрес? > Это бы объяснило, почему после рестарта nginx его "увидел". > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
