Estou usando o FastCGI (fcgi). Eu estou tendo um problema onde mais processos do PHP estão sendo gerados do que o que deveria estar, o que está consumindo minha memória RAM.
Estou usando o WHM e defini as seguintes configurações do PHP por meio da interface da web do WHM > Configuração do Apache > Incluir editor > Pre VirtualHost Incluir:
<IfModule mod_fcgid.c>
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 500
FcgidMaxRequestsPerProcess 500
FcgidMaxProcesses 15
FcgidMinProcessesPerClass 0
FcgidMaxProcessesPerClass 8
FcgidIdleTimeout 30
FcgidIdleScanInterval 15
FcgidProcessLifeTime 60
FcgidIOTimeout 300
FcgidMaxRequestLen 268435456
</IfModule>
(Geralmente essas configurações iriam em /usr/local/apache/conf/php.conf
, mas esse arquivo é sobrescrito pelo WHM ao alterar várias configurações, então eu tive que inseri-las em outro lugar. O método acima foi recomendado em um fórum cPanel e faz com que as configurações sejam incluído na configuração do Apache.)
No entanto, apesar de FcgidMaxProcesses 15
, descobri, por meio de top
, que até 45 processos do PHP estão em execução a qualquer momento durante o pico de uso (e talvez mais). Por exemplo, aqui está uma captura de tela tirada no último final de semana:
Eu realmente quero limitar-se a 15 processos, no máximo. (Mesmo que pareça que eu tenho RAM de sobra, é realmente 2GB + 1GB burstable. Eu preciso mantê-lo sob 2GB como regra geral.)
É um servidor Apache, rodando o CentOS 6, o Apache 2 (Worker MPM), o PHP 5.3.20 (FastCGI / fcgi) e o MySQL 5.5.28. 2 GB de RAM (3 GB de capacidade de expansão), 24 CPUs.
Tags memory-usage php apache-2.2