Назад | Перейти на главную страницу

Apache наращивает дочерние процессы, пока не достигнет MaxRequestWorkers.

Мой сервер Ubuntu прекрасно работал в течение шести месяцев, пока на прошлой неделе он не стал немного шалить. Я не вносил никаких изменений в конфигурацию за последние пару месяцев, поэтому я ломаю голову ... вот где я собираюсь!

Я покопался в Мунине (Скриншот) и похоже, что Apache порождает рабочие процессы до предела, установленного в prefork, а затем перестает отвечать (или, как показано на белом фоне, возможно, полностью падает). Сервер в целом исправен и отлично реагирует на SSH / FTP и т. Д., А использование памяти и ЦП находится в установленных пределах. Сервер представляет собой Ubuntu VPS, на котором размещается около 50 сайтов, все из которых имеют довольно низкий трафик - может быть, 500 обращений в день на всех сайтах на сервере.

Неудивительно, что Apache выдает ошибку примерно в то же время, когда Мунин показывает, что мы достигли максимума:

[Tue Mar 10 23:33:57.643098 2015] [mpm_prefork:error] [pid 17764] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

Я мог бы, конечно, увеличить количество RequestWorkers, однако я думаю, что это просто уловка и не решает реальной проблемы, поскольку это `` нарастание '' происходит, по крайней мере, иногда, в одночасье - когда сервер должен практически нет запросов.

Вот моя конфигурация модуля prefork:

<IfModule mpm_prefork_module>
    StartServers            4
    MaxClients              35
    MinSpareServers         4
    MaxSpareServers         8
    MaxRequestWorkers       64
    MaxConnectionsPerChild  100
</IfModule>

Первоначально (до того, как я вчера начал попытки устранения неполадок), параметр MaxConnectionsPerChild был равен 0. Я читал в разных местах, что это заставит Apache не освобождать неиспользуемые рабочие процессы. Я изменил его на 100 (я полагаю), но когда я пришел сегодня утром после последнего «наращивания мощности», он был сброшен обратно до нуля (хотя мое другое изменение - изменить MaxClients на 35, застряло).

Единственный похожий отчет, с которым я столкнулся на ServerFault, - этот. Я попытался удалить APCU, но это не имело никакого значения, и прошлой ночью было такое же «усиление».

Есть идеи милые люди?