Таймоут

Igor Sysoev is at rambler-co.ru
Tue Jul 25 22:28:53 MSD 2006


On Tue, 25 Jul 2006, Andrew Velikoredchanin wrote:

> У меня в nginx на фронтэнде (и на фронтэнде и на бэкенде тоже nginx
> 0.3.54) логе много записей типа:
>
> 2006/07/25 12:55:07 [error] 21764#0: *1976588 writev() failed (110:
> Connection timed out) while sending request to upstream, client:
> 86.144.57.51, server: server.net, URL: "/thumbnails/50989489.t.jpg",
> upstream: "http://192.168.0.10:81/thumbnails/50989489.t.jpg", host:
> "server.net", referrer: "..."
>
> Активность обращений очень высокая.
>
> Вопрос такой - какой именно таймоут надо поправить в конфиге что-бы не
> было таких ошибок?
>
> Сейчас стоит:
>            proxy_connect_timeout      3000;
>            proxy_send_timeout         3000;
>            proxy_read_timeout         3000;
>
> Может быть имеет смысл какие-то кэши увеличить?

nginx не устанавливает kernel-level таймауты.
Если бы сработал один из вышеописанных таймаутов, то сообщение было бы
таким: "... upstream timed out (110: Connection timed out) while sending
request to upstream ...". В данном же случае ошибку ETIMEDOUT вернул
сискол. Насколько я вижу по коду ошибки, это Линукс. На бэкенде нужно
поставить

/proc/sys/net/ipv4/tcp_rfc1337 0

и, возможно,

/proc/sys/net/ipv4/tcp_tw_recycle 1

> Вторая проблема (возможно связана с первой) - по этому локэйшену иногда
> вместо существующего файла выдается 404. При повторном обращении файл
> выдается нормально. Такое стало появляться после включения keepalive на
> фронтэнде.

Как выгдляит строка в error_log'е про 404 ?


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list