[MASOCH-L] Apache 2 MPM: prefork vs worker
Marcus Grando
marcus at sbh.eng.br
Wed Mar 30 10:51:21 -03 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