Проблема с подвисающими процессами Апача

На одном мощном, но высоконагруженном сервере — FreeBSD, MySQL, nginx, Apache, mod_php — систематически возникала проблема с подвисающими процессами Апача. Причём довольно часто — несколько раз в сутки. Выглядело это так — появлялось максимально разрешённое количество процессов Апача (в моём случае 600) и куча процессов в MySQL в состоянии sleep. Ясное дело, что сайт в такие периоды открывался с большой задержкой или вообще не открывался. Помогал только перезапуск Апача (достаточно было graceful, а не restart). Пришлось даже написать скриптик для автоматизации перезапуска Апача (
Я пытался локализовать проблему, но мне это не удавалось. Проблема началась на схеме без Апача — nginx и php-fastcgi, заменил php-fastcgi на Апач с mod_php — не помогло, убрал фронтенд nginx — не помогло, перенёс MySQL на отдельную (тоже мощную) машину — не помогло и вроде бы (уже не уверен) отключал кеширование при помощи eaccelerator. Я уже смирился и надежда была только на обновление версии движка сайта. А тут решил вместо eaccelerator поставить APC (Alternative PHP Cache) и, вроде бы, помогло, по-крайней мере уже трое суток всё нормально.
Ещё понравилось, что в дистрибутиве APC есть php-скрипт для удобного просмотра статистики кеша.
На радостях решил поставить APC и на сервере виртуального хостинга с php-cgi, поставилось без проблем, но не работает — выдаёт кучу ошибок, которые пока победить не удалось.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.