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

Marcelo Coelho marcelo at tpn.com.br
Wed Mar 30 10:31:28 BRT 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