У меня есть веб-сервер Apache 2.4, который работает на микро экземпляре AWS с CentOS.
Апач выполняет PHP с предварительным ветвлением модуль MPM.
К серверу получают доступ через подсистему балансировки нагрузки Amazon, которая имеет проверку состояния, которая пытается получить доступ к index.php веб-странице сервера каждые 60 секунд.
Проблема состоит в том, что после 1-2 дней, Apache достигает так или иначе 256 открытых процессов с index.php страницей и дает следующую ошибку:
[Sun Sep 08 02:13:00.356051 2013] [mpm_prefork:error] [pid 1201] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process
[Sun Sep 08 02:13:13.656694 2013] [mpm_prefork:error] [pid 1201] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
Обычно, когда это происходит, новые http соединения больше не принимаются.
Apache, вероятно, не закрывает все соединения подсистемы балансировки нагрузки.
У нас есть другой сервер с Apache 2.2, который не имеет этой проблемы, таким образом, вероятно, проблема с 2,4 версиями, которые очень отличаются, чем 2,2 (Мы не изменили конфигураций по умолчанию Apache).
mod_status включен и здесь является выводом, который мы могли получить, когда это произошло однажды: http://www.speedyshare.com/vE3My/server-status.txt
Кто-либо знает, как мы можем приблизиться к этой проблеме?
Заранее спасибо!
ಅಪಾಚೆ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಅನಿರ್ದಿಷ್ಟವಾಗಿ ಮರು ಬಳಸಿದಾಗ ನಾನು elling ತವನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ (ಸೋರಿಕೆಯಾಗುತ್ತಿದೆ) ನಿಮ್ಮ httpd.conf ನಲ್ಲಿ MaxRequestsPerChild 200
ಅನ್ನು ಹೊಂದಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ.