Reduzir o limite de servidor não limita o número de processos no prefork MPM

1

Eu configurei ServerLimt para 15 e MaxClients para 8, mas de vez em quando vejo 150 processos do Apache. Como vem?

Eu tenho o Apache / 2.4.7 (Ubuntu), MPM: prefork

StartServers           1
MinSpareServers        1
MaxSpareServers        2
Serverlimit           15
MaxClients             8
MaxRequestsPerChild   50

Logo depois de iniciar meu servidor, posso ver 11 processos do Apache: um pai e 10 processos filhos. Com base nisso, eu suponho que 8 dos 10 processos filhos são por causa da configuração "MaxClients" e outros 2 são gerados porque eu defini "MaxSpareServers = 2".

De vez em quando, o número de processos vai um pouco além de 15. Eu não entendo como isso pode acontecer é Serverlimit é 15. Mas, o verdadeiro problema é que ocasionalmente o número de processos dispara até cerca de 150, esgotando RAM.

A documentação diz "Com o prefork MPM, use esta diretiva somente se você precisar definir MaxClients acima de 256 (padrão). Não defina o valor desta diretiva mais alto do que o que você pode querer definir MaxClients."

A primeira sentença parece dizer que eu não deveria tocá-la, mas a segunda parece sugerir que eu a reduza para corresponder a MaxClients.

Bottomline: Se o Serverlimit não funcionar, de que outra forma eu posso definir um limite rígido no número de processos do Apache.

    
por Darius 25.10.2015 / 20:48

1 resposta

1

Você tem certeza de que o apache está lendo o arquivo de configuração correto e / ou você está usando o prefshel mpm?

Verifique a configuração atual (especificamente o mpm e os que você escreveu) com:

apache2ctl -S

Em caso de postá-los aqui.

    
por 04.11.2015 / 21:54

Tags