Siava пишет:
Igor Sysoev пишет:
On Sat, Jul 21, 2007 at 06:59:01PM +0400, Siava wrote:
Igor Sysoev пишет:
On Sat, Jul 21, 2007 at 06:14:40PM +0400, Siava wrote:
Igor Sysoev пишет:
On Sat, Jul 21, 2007 at 05:20:47PM +0400, Siava wrote:
Уже четвёртый день бьюсь с этой ошибкой, ничего не получается. Всё
равно периодически она возникает:
2007/07/21 16:52:55 [error] 15252#0: *347673 recv() failed (104:
Connection reset by peer) while reading response header from upstream
Обновил Apache до 2.2.4, nginx до 0.6.4
пробовал конфиг менять, буферы, таймауты.. всё зря.
Какая OS ?
Linux Slackware 12.0
2.6.22.1, glibc 2.5, gcc 4.1.2
Тут ничем не помогу. Во FreeBSD можно было бы посмотреть размер
listen queue, а в Линуксе, насколько я знаю, такого нет.
Кстати, а ведь 2.6.22.1 - это по предсказуемости, как FreeBSD 7.0-CURRENT.
Там может быть всё, что угодно.
Я помню одно время под Линуксом были проблемы с завершением соединений,
наблюдалось как в nginx'е, так и в Апаче (Апачи долго висели в состоянии
R).
Они до сих пор наблюдаются или пропали ?
Думаю, что тут не в ядре дело. В 2.6.16.48 всё работало на ура.. хотя
сложно что-либо думать, так как при обновлении 11 Slackware до 12 очень
многое обновилось.
Закрыть соединение с RST (Connection reset by peer) на одной машине может
1) или приложение, вызвав close() предварительно поставив SO_LINGER в 0,
2) или ядро.
Апач, насколько я знаю, SO_LINGER не ставит. Остаётся ядро.
Игорь, спасибо. На днях соберу старое ядро и попробую потестить nginx с
ним. О результатах обязательно отпишусь.
Что и требовалось доказать :)
Собрал последнее ядро из ветки 2.6.16. и с 3 ночи до сих пор пока нет
ни одной ошибки. Тьфу-тьфу-тьфу..
Спасибо за решение этого вопроса.
--
Siava
|