Проблема apache и CLOSE_WAIT

AV
На сайте с 18.07.2007
Offline
49
2975

Здравствуйте, подскажите - может было у кого?

CentOS 6, cPanel, http 2.2.24, php 5.2.17 с Zend, mod_ruid2 - в общем стандартный сервер с cPanel.

Периодически возникает проблема: идут запросы на один из сайтов на сервере, причем запросы простые - запрашивается обычная png-картинка, которой там даже нет - в ответ - ошибка 404. Но процессы вместо того чтобы освобождаться, висят используемые этим сайтом (при этом cpu не потребляют). В netstat - куча соединений со статусом CLOSE_WAIT, в ps - куча процессов вышеуказанного сайта, в server-status - все процессы обрабатывают запрос HTTP 1.1 на получение этой картинки.

Когда количество зависших соединений сравнивается с MaxClients, то понятное дело - никто зайти не на один сайт не может, при этом процессор не загружен.

Судя по описаниям в интернете, таймаут CLOSE_WAIT не настраивается и означает что программа (httpd в данном случае) не освобождает сокет который должен быть освобожден - соответственно висеть может бесконечно, перезапускать apache каждые 10 минут - не вариант.

Andreyka
На сайте с 19.02.2005
Offline
822
#1

Попробуйте выкинуть mod_ruid2

Не стоит плодить сущности без необходимости
AV
На сайте с 18.07.2007
Offline
49
#2
Andreyka:
Попробуйте выкинуть mod_ruid2

Это предположение, или за ним уже замечены такие проблемы? Просто он идет с Cpanel и никаких извращений для его работы не нужно, а если его менять на mpm-itk и т.п. - то это не так просто сразу сделать.

До этого ведь все работало долгое время, и проблема возникает только с конкретным небольшим количеством IP адресов клиентов.

Andreyka
На сайте с 19.02.2005
Offline
822
#3

У меня хаутушка есть как поставить itk за 10 минут

Сами найдете или ссылку датб?

pupseg
На сайте с 14.05.2010
Offline
364
#4

не использовал mod_ruid2 но неоднократно слышал что на более менее нагруженных проектах он - не торт.

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
izyalex
На сайте с 06.04.2009
Offline
60
#5

т.е. itk чем-то выигрывает перед ruid2 ?

Сpanel хостинг (http://bit.ly/Vjwlfl) и ISPmanager хостинг (http://bit.ly/11NnOqJ) от 119р./мес VIP Премиум хостинг (http://bit.ly/VibYQ9) в Москве, 1000р./мес и не парюсь
AV
На сайте с 18.07.2007
Offline
49
#6

Кому интересно, проблема была в этом баге: https://bugs.php.net/bug.php?id=47640

Сайт был настроен таким образом, что в случае ошибки 404 отдавал не ошибку 404 а страничку на php, которая зависала на flock(), т.к. файл сессии был заблокирован другим процессом который был чем то занят. Поэтому процессы не завершались - висели бесконечно.

AV
На сайте с 18.07.2007
Offline
49
#7

Вопрос на засыпку.

Кто как держит сессии php на шаред-хостинге? В виде файлов, или в БД/memcached? Как вы защищаетесь от подобной проблемы?

M
На сайте с 01.12.2009
Offline
235
#8

На шараде понятия не имею, на сервере в простых случаях можно и в ramfs

Администратор Linux,Freebsd. построения крупных проектов.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий