apache22 and threads

Michael Powell nightrecon at hotmail.com
Tue Sep 21 09:46:20 UTC 2010


Victor Sudakov wrote:

[snip]
>> 
>> My thoughts are this matters depending upon which mpm you choose to build
>> into apache. The default is prefork, and it handles incoming requests by
>> spawning child processes.
> 
> Do you mean to say "WITH_MPM=prefork" works exactly like apache13?
> 

Essentially yes. Although you don't have to specify as it is the default. 
You would only need to specify for a non-default configuration.
 
>> 
>> An additional consideration might be what kind of backend is used. For
>> example, since not all of PHP is known to be thread safe it is not
>> recommended for use with a threaded server and mod_php. The way to get
>> around this situation is to separate PHP from Apache with something like
>> mod_fcgid which runs PHP as a FastCGI. This way you can safely run a
>> threaded Apache with non-thread safe PHP. As far as which is the better
>> approach I still am not really sure. Each has its set of pros and cons.
> 
>  From what you have written it seems that prefork and no threads
> is the robustest, most reliable configuration (even if more resource
> consuming)?
> 

Most tried and true with the longest track record. Definitely the 
conservative approach. I have been running the event mpm with PHP as FastCGI 
for about a year and a half now on two servers with no reliability issues. 
However, neither is ever fully loaded so I can't say whether they'd fold if 
hit with enough traffic.

The prefork mpm without threads and mod_php is a safe bet for a server that 
will not be hitting the wall, traffic volume-wise.  

-Mike




More information about the freebsd-questions mailing list