У меня есть VPS-сервер Debian Linux для моего производственного веб-сайта (512 МБ).
Я использую Phusion Passenger с Apache для обслуживания моего приложения Rails 2.3.4 с Ruby 1.9. Я ограничиваю пул пассажирских экземпляров Phusion до 3
Хотя трафик относительно невелик, сервер иногда дает сбой, и я замечаю (при использовании команды 'top'), что существует много экземпляров apache (/ usr / sbin / apache2 -k start), может быть, около 20 из них занимают все память у меня есть, и сайт перестает отвечать.
Я не уверен, что с этим делать, с чего начать копать в поисках потенциальных проблем или как определить или ограничить количество экземпляров apache.
Спасибо,
Там
Это будет ваш MPM настроить. Ваш на коробке * nix, так что, вероятно, это Prefork вы можете проверить это, запустив httpd -l (или, как ни странно, в ubuntu это apache2 -l), чтобы увидеть скомпилированные модули.
То, что вы хотите, перейти в свой httpd.conf (или apache2.conf в зависимости от вашей настройки) и отредактировать соответствующую конфигурацию для ваших рабочих MPM в соответствии с вашей средой.
РЕДАКТИРОВАТЬ:
Вы запускаете prefork mpm, как показано, но prefork.c
указывается как скомпилированный. Вам нужно перейти в /etc/apache2/apache2.conf (у меня есть только флажки для Ubuntu, но поскольку это производная от Debian, она должна быть такой же).
Вы найдете раздел, похожий на показанный ниже. Отредактируйте эти значения.
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>