Igor Sysoev пишет:
> 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
Вот это попробую поставить, но смущает предупреждение в описании о том
что не надо менять эту опцию если не уверен. Она не повлияет на работу NFS?
>> Вторая проблема (возможно связана с первой) - по этому локэйшену иногда
>> вместо существующего файла выдается 404. При повторном обращении файл
>> выдается нормально. Такое стало появляться после включения keepalive на
>> фронтэнде.
>
> Как выгдляит строка в error_log'е про 404 ?
Отследил по логам - это не 404 ошибка. Я так думал т.к. не появлялась
картинка на странице. При таком сбое возникает именно та ошибка которую
я описал выше.