php-fpm upstream pool
Gena Makhomed
gmm на csdoc.com
Пт Дек 2 16:45:24 UTC 2011
On 02.12.2011 18:17, Валентин Бартенев wrote:
>> А зачем? Health-check нужен на подъем, чтобы не слать запросы
>> на неработающий бэкенд вообще. И реализовать достаточно просто.
> На подъем это другое дело. С этим я не спорю.
так я об этом и спрашивал. именно что на подъем, после того
как backend помечался как неработающий. fail_timeout == 10 секунд
(что слишком много, если backend лежит можно делать проверку через
healtp check хоть раз в секунду) и при этом не будет уходить "налево"
запрос от пользователя, если мы не знаем работает сейчас backend
или нет, и в прошлый раз - он точно был не рабочим. вероятность того,
что он сразу после этого будет уже рабочий - достаточно невысокая.
в результате: и повышение QoS для пользователей и более быстрое
восстановление сервера после сбоя. если он уже поднялся - не будет
простаивать 5-10 секунд, а буквально через секунду включится в работу.
> У Геннадия было: "и если health check показал, что backend не работает,
> тогда нет смысла туда посылать запрос от пользователя".
у Максима было: "Запросы на него будут отправляться 1 раз в fail_timeout."
On 02.12.2011 12:07, Maxim Dounin wrote:
> Алгоритм такой: упавший
> бекенд не будет признан снова работающим, пока не отработает
> успешно хотя бы один запрос, на него отправленный. Запросы на
> него будут отправляться 1 раз в fail_timeout.
>
> Если запросы долгие (много длиннее fail_timeout, т.е. не просто
> "тяжёлые запросы к базе", а какой-нибудь streaming или long
> polling) это, потенциально, может привести к тому, что бекенд
> (после смерти и оживания обратно) некоторое время будет продолжать
> считаться мёртвым (пока хотя бы один запрос не завершится, или
> клиент его не закроет). Нагрузка, соответственно, будет идти
> большей частью на другие бекенды.
>
> Есть, впрочем, мнение, что для streaming/long polling подобное
> поведение тоже вполне разумно, и максимум что в подобных ситуациях
> следует сделать - это уменьшить fail_timeout.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru