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