client timed out & readv() failed
Evgeniy Berdnikov
bgx на protva.ru
Чт Мар 3 18:41:09 UTC 2016
On Thu, Mar 03, 2016 at 08:36:28PM +0300, Maxim Dounin wrote:
> Hello!
>
> On Thu, Mar 03, 2016 at 06:53:43PM +0300, Vadim Lazovskiy wrote:
>
> > Здравствуйте.
> >
> > Возможно немного не по теме, но возможно кто-то сталкивался.
> >
> > Есть upstream на nginx раздающий файлы.
> > Есть frontend на nginx проксирующий и кэширующий их.
> >
> > Периодически в логах появляются ошибки:
> >
> > upstream (nginx 1.2.9):
> > 2016/03/03 18:28:57 [info] 16552#0: *190295515 client timed out (110:
> > Connection timed out) while sending response to client, client: IP, server:
> > SERVER, request: "GET /URI HTTP/1.0", host: "SERVER", referrer: "REFER"
> >
> > frontend (nginx 1.9.11):
> > 2016/03/03 18:27:56 [error] 22785#22785: *168191 readv() failed (104:
> > Connection reset by peer) while reading upstream, client: IP, server:
> > SERVER, request: "GET /URI HTTP/1.1", subrequest: "/URI", upstream:
> > "UPSTREAM", host: "SERVER", referrer: "REFER"
> >
> > Причем фронтенд рапортует, что ничего не сделать на минуту раньше, нежели
> > бакенд.
> >
> > frontend подключен по 10G, примерно 4G исходящего и 2.5G входящего трафика.
> > backend - port channel из 4 1G линков, недостатка в полосе не имеет.
> >
> > Кто-нибудь сталкивался с подобными ошибками? С чем может быть связано и что
> > подкрутить?
>
> Я бы для начала попробовал поискать statefull firewall между
> фронтендом и бекендом. Возможно, у него кончаются state'ы, и он
> таким нехитрым образом пытается об этом сообщить.
Нет, "while sending response to client" и "while reading upstream"
однозначно свидетельствуют о том, что соединение установлено.
Поэтому переполнение таблицы коннекций исключается.
--
Eugene Berdnikov
Подробная информация о списке рассылки nginx-ru