Re: max_fails=0 и no live upstreams while connecting to upstream
Maxim Dounin
mdounin на mdounin.ru
Чт Апр 12 15:27:45 UTC 2018
Hello!
On Wed, Apr 11, 2018 at 07:00:17PM +0200, Yury Lyakh wrote:
> Господа, подскажите пожалуйста,
>
> В документации сказано что max_fais=0 отключает попадание апстрима в блэклист на время из-за проблем с ним.
>
> То есть, как я понимаю постучались на бэкенд, получили 502 или еще что, отдали клиенту. И дальше стучимся на бэкенд, а не замораживаем его с сообщением в лог "no live upstreams while connecting to upstream".
>
>
> upstream games-storage-ru {
> zone games-storage-ru 64k;
> server games.syd.origin.ru <http://games.syd.origin.ru/> max_fails=0;
> keepalive 4;
> }
>
>
> "46.116.106.159" "-" "-" "[11/Apr/2018:16:37:29 +0000]" "HEAD /Logo.png HTTP/1.1" "502" "0" "-" "curl/7.54.0" "169" "-" "http" "games-storage.ru <http://games-storage.ru/>" "0.000" "0.000" "99" "-" "[fr5]" "MISS" "0" "games-storage-ru" "2052" "4468" "-" "-"
>
> 2018/04/11 16:37:29 [error] 34796#34796: *672751767 no live upstreams while connecting to upstream, client: 46.116.106.159, server: games-storage.ru <http://games-storage.ru/>, request: "HEAD /Logo.png HTTP/1.1", upstream: "http://games-storage-ru/Logo.png <http://games-storage-ru/Logo.png>", host: "games-storage.ru <http://games-storage.ru/>"
>
> Или я что-то упустил?
> Или при max_fails=0 это сообщение чисто информационное и данный server в апстрим не блэклистится на самом деле?
Сообщение "no live upstreams..." означает, что nginx пытался
выбрать бэкенд, но не смог, потому что все сконфигурированные
бэкенды либо выключены, либо уже были попробованы в рамках данного
запроса.
Обычно это сообщение не появляется, если учёт ошибок выключен,
потому что количество попыток переключения на следующий бэкенд
ограничено количеством бэкендов. Однако это может быть не так в
случае использования keepalive'а к бэкендам - попытки использования
закэшированных соединений не учитываются, и суммарное количество
попыток в результате может превышать общее количество бэкендов,
приводя к сообщению "no live upstreams...", когда на все бэкенды
уже попытались сходить. Судя по всему у вас просходит именно это.
Какого-либо выключения бэкендов при этом не происходит, сообщение
относится именно к конкретному запросу.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru