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

Проблемы OOM с FastCGI - игнорирование конфигурации FastCgiServer

Я использую apache2 с mod_fastcgi для запуска PHP на частном общем сервере. Я объединил это с suexec, чтобы я мог запускать каждый виртуальный хост как собственный пользователь UNIX, порадовав владельцев Wordpress.

Один сайт иногда получает волну трафика из-за парсеров в Twitter, которые генерируют 10+ процессов php-cgi, каждый из которых использует 50 МБ. Это вызывает множество ошибок OOM на одном из моих подчиненных серверов объемом 512 МБ.

Я бы очень хотел ограничить каждого пользователя 4 процессами PHP, сохраняя при этом глобальные процессы maxmimum до 8. В файле конфигурации, который загружает mod_fastcgi.so, Я определил следующие

FastCgiConfig -maxClassProcesses 4 -maxProcesses 8

В моем файле cgi-bin / php.fcgi для каждого виртуального хоста я также установил следующее:

#!/bin/bash
### Set PATH ###
PHP_CGI=/usr/bin/php-cgi
PHP_FCGI_CHILDREN=0
PHP_FCGI_MAX_REQUESTS=1000
### no editing below ###
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec $PHP_CGI

К сожалению, это не очень помогло моей среде, и при нагрузочном тестировании серверов я все еще обнаружил, что для одного пользователя запущено более 4 процессов php-cgi, что приводит к большему количеству проблем с OOM. Что я здесь делаю не так?