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

многие экземпляры apache создаются с помощью Passenger / Rails

У меня есть 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>