Валентин Бартенев Wrote:
-------------------------------------------------------
>
> Вероятно потому, что nginx считает ваш бэкенд умершим.
> За причиной следует смотреть в error_log.
Я думаю я немного недоговорил, nginx не игнорирует бэкенд полностью, он отправляет запросы, но очень небольшое количество. например из 100 запросов на первые 3 уходит равномерно между ними по 30 запросов, а на оставшийся с всего 10, т.е. недодает ему.
Это очень хорошо видно если смотреть текущие коннекты к бэкендам со стороны nginx.
netstat -tn |grep :8080 |awk '{print $5}' |cut -d\: -f1 |sort |uniq -c
Так что он не считает его совсем уж мертвым.
И еще, не стану скрывать, есть у нас одна ночная ситуация-операция при которой все бэкендЫ в разные моменты времени перестают отвечать. Но когда использовался round-robin, после того как ситуация прошла и бэкенды пришли в себя, запросы продолжают ходить и из апстрима никого не выкидывало.
про логи...
В конфигурации настроено error_log info. За период когда это произошло, есть только десяток сообщений такого типа:
[info] 10359#0: *734774549 recv() failed (104: Connection reset by peer), client: 78.30.221.96, server: my_domain.ru, request: "GET / HTTP/1.0", host: "DOMAIN.RU"
Надеюсь, я не внес неразберихи в свой вопрос?
>
> > Из нее лишь понятно что у воркеров есть свои счетчики соединений. Но не
> > понятно, то ли это инкрементальные счетчики которые все время растут, или
> > счетчики текущего количества соединений с бэкендом?
>
> Разумеется текущего. Об этом и в документации сказано.
>
значит меня ввела в заблуждение фраза "Currently, different workers have distinct counters of active connections."