Trabalhador MPM ou Prefork?

Trabalhador MPM ou Prefork?

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

Eu estava entrando em contato com 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 usam aproximadamente 80 MB de RSS, enquanto em seu servidor de teste, uma versão semelhante do Apache 2.4 usa apenas aproximadamente 3 MB de RSS por processo filho do Apache.

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

Procurei 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 informam 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 o que devo fazer? Tenho scripts php em execução em minhas contas e não quero interromper nenhum deles ou corromper os dados.

Quais são suas sugestões, pessoal? Mudar para 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 RSS de 80 MB é muito alto em comparação com RSS de 3 MB.

Responder1

Se você tiver que usar PHP como módulo Apache, você deve usar o Prefork, porque como você disse, o PHP é compilado como não thread-safe por padrão e o Worker MPM está usando threads.

Se você pode usar PHP como FastCgi (PHP-FPM), você pode usar Worker MPM.

A propósito, provavelmente a melhor maneira de implantar PHP hoje é usando Nginx e PHP-FPM.

informação relacionada