В Пнд, 13/04/2009 в 11:56 +0400, Anton Yuzhaninov пишет:
>> Помогите разобраться.
>> Пользователи стали жаловаться на проблемы с доступу к одному их
>> форумов(ipb) живущему на апаче за nginx'ом.
>>
>> Из "странностей" в access логах нашел код возврата 499. И вот такое
>> сообщение в error логе "client closed prematurely connection, so
>> upstream connection is closed too while sending request to upstream",
>> на соответсвующую запись из access лога.
>>
> ...
>> У меня есть всего 2 гипотезы:
>> Проблема на уровне сетевого интерфейса. Хотя сеть нагружена примерно
>> на половину из возможного 50MB/s.
>> Проблема в самом nginx'е при определенном уровне нагрузки или
>> количестве соединений.
>>
>> Подскажите в какую сторону смотреть для прояснения ситуации.
>>
> Скорее всего проблема в самом форуме. Ибо ошибка 499 обозначает, что
> клиент не дождался ответа.
>
>
"while sending request to upstream" говорит о том, что nginx даже не успел передать запрос на
upstream. Одна из возможных причин таких сообщений - клиент кликнул в браузере на одну ссылку,
а потом сразу же на другую (при этом запрос на первую ссылку закрывается).
То что nginx "видит" закрытие клиентского соединения я понимаю, но вот причину этого закрытия - не понимаю. Как один из вариантов - "пользователь нажал отмена", берем на вооружение, но что если он ее не нажимал?
Мне прислали screenshot, на котором вот такой запрос с 499-ым ответом в логе, и браузер (chrom) говорит о "Ошибка 2 (Net::ERR_FAILED): неизвестная ошибка" - из этого можно предположить, что браузер все же ожидал что-то получить в ответ(проваливается гипотеза отмены загрузки), но соединение было потеряно.