[MASOCH-L] Apache 2 MPM: prefork vs worker
Marcelo Coelho
marcelo at tpn.com.br
Wed Mar 30 10:31:28 -03 2005
> 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?
More information about the masoch-l
mailing list