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 не ставит. Остаётся ядро.
--
Игорь Сысоев
http://sysoev.ru