httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject Re: [users@httpd] prefork vs worker mpm in apache
Date Wed, 04 Nov 2015 15:39:03 GMT

> On Nov 3, 2015, at 2:53 PM, Rose, John B <jbrose@utk.edu> wrote:
> 
> On 11/3/15 2:21 PM, "Jim Jagielski" <jim@jaguNET.com> wrote:
> 
>> 
>>> On Nov 3, 2015, at 10:43 AM, Tim Dunphy <bluethundr@gmail.com> wrote:
>>> 
>>> 
>>> Hey guys,
>>> 
>>> We had to recompile apache 2.4.12 because we needed to disable thread
>>> safety in php (ZTS).  Because for some reason when compiling php with
>>> the --disable-maintainer-zts with the worker mpm model and checking the
>>> php info page, it was saying that thread safety was still enabled.
>>> 
>>> So when we recompiled apache to use the prefetch worker model instead
>>> of worker, the php info page was showing that  thread safety was
>>> disabled.
>>> 
>>> But after that change apache processes spiked from around 11 processes
>>> per machine to well over 250 processes at any given time.
>>> 
> 
> Does "Prefetch worker" = Event MPM? I thought "Event" with PHP-FPM was the
> suggested config.

There are 3 standard MPMs: Prefork (which is the old 1.3 way),
Worker and Event. Event is the recommended for 2.4.x

> 
>>> These are the tuning settings we have in apache:
>>> 
>>> StartServers 10
>>> 
>>> #MinSpareServers 10
>>> 
>>> #MaxSpareServers 25
>>> 
>>> ServerLimit 250
>>> 
>>> MaxRequestWorkers 250
>>> 
>>> MaxConnectionsPerChild 1000
>> 
>> Should be 0.
> 
> What "Should be 0"?

What MaxConnectionsPerChild does it to kill off a child
process after it handles 1000 connections. For even moderately
used servers, this causes nasty thrashing as the parent httpd
process is constantly killing off and then recreating perfectly
fine child processes. This directive was originally add long
long ago when there were memory leaks in libs and so you
needed Apache httpd to occasionally kill child processes to
recover that mem.

> 
> 
>> 
>>> 
>>> KeepAlive On
>>> 
>>> KeepAliveTimeout 30
> 
> Seems like I have read in somewhat recent exchanges that "KeepAlive Off"
> is the recognized preference?
> 

That's also fine. It really depends on one's environment and
usage pattern if keepalives makes sense or not.

>> 
>> Should be 3 or so
>> 
>>> 
>>> EnableSendfile Off
>> 
>> Should be On
>> 
>> 
>> Cheers!
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>> For additional commands, e-mail: users-help@httpd.apache.org
> 
> 
> Thanks
> 
> 
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message