Re: логика fail_timeout в­­­ апстриме.

vinny13 at land.ru vinny13 at land.ru
Tue Mar 5 08:31:34 UTC 2013


> Да,  т.к. это синтетические тесты, то единичные случаи, но в "реале" хотелось бы
> что бы при определённом соотношении max_fail/fail_timeout сервер полностью
> выключался на время из апстрима.
> 
> Ваша фраза о том, что состояние upstream-серверов - для каждого рабочего процесса своё,
> подтвердила мои подозрения...
> Тогда получается, что добиться желаемого поведения можно либо запустив nginx
> с одним воркером, либо городить костыли, которые как-то из вне мониторят
> состояние серверов в апстриме и управляют балансировкой запросов на них ? 

А в чём смысл?  Если на бекенде проблемы - то все рабочие процессы 
рано или поздно об этом узнают.

> P.S. Забегая вперёд спрошу следующее - как выбирается какой из воркеров будет 
> обрабатывать поступивший HTTP запрос ?

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

Есть директива accept_mutex (http://nginx.org/r/accept_mutex/ru), 
которая слегка влияет на это "повезло", но она, опять же, никакого 
выбора не обеспечивает.

-- 
Maxim Dounin
http://nginx.org/en/donation.html
----- Конец пересылаемого письма -----



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