Worker MPM ou Prefork?

1

Eu entendo que há um tópico de comparação entre os dois módulos, mas isso é diferente.

Eu estava contatando o suporte do cPanel para me ajudar a liberar algum uso de memória no VPS. Eles descobriram que os processos filhos 'httpd' do Apache 2.4 estão usando aproximadamente 80MB de RSS, enquanto no seu servidor de teste, uma compilação semelhante do Apache 2.4 usa apenas aproximadamente 3MB de RSS por processo filho do Apache.

Depois de discutir o assunto por um tempo, eles sugeriram mudar para o MPM do trabalhador no Apache 2.4 em vez de usar o Prefork.

Pesquisei o que eles disseram e descobri que o Worker MPM usa menos memória, mas não é thread-safe. Alguns outros tópicos em sites dizem que o Worker não funcionará com aplicativos php ou mod_php. Não tenho certeza se isso está correto ou não.

Estou muito confuso com o que devo fazer? Eu tenho scripts php em execução em minhas contas e não quero interromper nenhum deles ou obter dados corrompidos.

Quais são as suas sugestões? A mudança para o Worker MPM resolverá o problema de ficar sem memória sem interromper os aplicativos php?

Existe alguma solução em relação ao uso do Apache? Como o 80MB RSS é muito alto em comparação com os 3MB RSS.

    
por Mina Hafzalla 29.12.2013 / 13:46

1 resposta

1

Estou lhe dando um link para uma boa explicação sobre modelos de multiprocessamento do Apache e PHP

É difícil dizer o que há de melhor na sua situação, pois depende de muitos fatores (você é um servidor compartilhado, o apache deve ser executado como um usuário separado, dependendo do vhost). O link é para a versão em cache do Google desta página, pois o servidor não está funcionando hoje. (www.binarytides.com/apache-mpm-php-server-api) Espero que isso ajude.

É possível definir limites para o número de processos filhos que estão sendo gerados e os limites do servidor, o que obviamente limitará o uso da memória, mas poderá afetar o desempenho, dependendo da carga. FastCGI pode ser o caminho a percorrer, mas você também deve se perguntar, o que é o 80MB RSS inventado, talvez a maior parte seja o bit PHP (bibliotecas). Pode ser útil ativar / status do servidor no curto prazo, para ajudá-lo a entender como o apache está funcionando com relação ao uso filho / encadeamento do servidor para que você possa definir limites inferiores.

    
por 29.12.2013 / 15:11