client timed out & readv() failed

Andrey Kopeyko andrey на kopeyko.ru
Чт Мар 3 16:03:35 UTC 2016


On Thu, 3 Mar 2016, 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"

ИМХО тут нечего подкручивать - фронтенд ясно говорит, что пользователь 
разорвал соединение в процессе получения ответа. Такое поведение характерно 
для IE и FF при закрытии вкладки. Научить пользователей дожидаться получения 
полного ответа перед закрытием браузера - it's fantastic.

> Причем фронтенд рапортует, что ничего не сделать на минуту раньше, нежели
> бакенд.
>
> frontend подключен по 10G, примерно 4G исходящего и 2.5G входящего трафика.
> backend - port channel из 4 1G линков, недостатка в полосе не имеет.
>
> Кто-нибудь сталкивался с подобными ошибками? С чем может быть связано и что
> подкрутить?
>
> Спасибо.
>
>

-- 
Best regards,
Andrey Kopeyko <andrey at kopeyko.ru>


Подробная информация о списке рассылки nginx-ru