[MASOCH-L] Apache 2 MPM: prefork vs worker

Marcus Grando marcus at sbh.eng.br
Wed Mar 30 10:51:21 BRT 2005


A um tempo atraz, fui ver o que era melhor para rodar como PHP. A minha 
conclusão é: PHP não é Thread-safe, sendo assim optei por prefork.

No histórico da lista do GTER tem uns links que o pessoal me passou 
sobre o assunto. Os desenvolvedores do PHP estão trabalhando nisso mas 
até o último relatório ainda tinham problemas.

Sobre o eAccelerator é muito bom mesmo. Só está meio parado, precisando 
de muito trabalho ainda. Estou pensando em mudar para o APC quando sair 
o novo release, pois deve estar mais estável. Digo isso do eAccelerator 
pois tem alguns problemas com PHP5 e com o PHP4 gera uns core muito 
estranhos. Os desenvolvedores mesmo dele estão para fazer um debug 
completo nele para resolver esses problemas. Mas como falei o projeto 
está bem parado.

Abraços

Marcelo Coelho wrote:
>>em que sistema operacional? no Linux não deve fazer grande diferença,
>>especialmente em kernels da série 2.6.
> 
> 
> FreeBSD 5.3.
> 
> 
>>uso apache 2 no modo prefork, nunca fiz um benchmark como o seu.
> 
> 
> O benchmark que fiz demonstrou que o prefork é mais rápido, porém como este
> modo inicia um processo httpd para cada conexão, isso deve carregar o
> sistema de acordo com o número de acessos simultâneos. O consumo de memória
> de cada processo não é pequeno, ainda mais quando o httpd carrega módulos
> DSO, por exemplo o mod_php4.
> 
> Já o worker, por utilizar threads, compartilha recursos e o consumo de
> memória é bem menor. Em contra partida, todos os módulos precisam ser
> compilados como thread safe (não vejo isso como um problema), mas a
> documentação do Apache alerta de que todos os módulos utilizados precisam
> ser thread-safe, inclusive módulos do PHP/Zend.
> 
> A questão é: o que vale mais a pena? Ter a velocidade já comprovada pelo
> prefork, mesmo com o alto consumo de recursos do sistema, ou utilizar o
> worker, que possui performance inferior, mas que teoricamente poupará
> recursos do sistema?
> 
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l

-- 
Marcus Grando
marcus(at)sbh.eng.br


More information about the masoch-l mailing list