httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Maynard <>
Subject UNIX MPMs
Date Thu, 10 Feb 2005 11:56:47 GMT
OK - let's face it.  Most people who seriously run Apache (1.3/2) run it 
on a UNIX system.  Often Linux.  Some people have switched from Apache 
1.3 to Apache 2 for a variety of reasons, but from my POV the new MPMs 
were the primary reason for switching to Apache 2.

This is an excerpt from the MPM blurb on the main doc pages:
 > The server can be better customized for the needs of the particular
 > site. For example, sites that need a great deal of scalability can
 > choose to use a threaded MPM like worker, while sites requiring
 > stability or compatibility with older software can use a prefork. In
 > addition, special features like serving different hosts under
 > different userids (perchild) can be provided.
This is all very well, but none of the "special features" work, and have 
not worked for at least a year.  This is the status of MPMs for UNIX at 
the moment:

UNIX MPMs in Apache 2:
	threadpool (experimental)
	leader (experimental)
	prefork (old)
UNIX MPMs that actually _work_ in Apache 2:
	prefork (old)

Let me focus on perchild (an MPM that should work) for a moment.
 >    * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
 >      how the Perchild MPM should be re-written.  It hasn't worked
 >      correctly since filters were added because it wasn't possible to
 >      get the content that had already been written and the socket at
 >      the same time.  This mode lets us do that, so the MPM can be
 >      fixed.
The STATUS documents have included the above statement for (over?) a 
year now.  A few months after it appeared the perchild MPM docs were 
updated to say the equivalent of "sorry, we broke it".

It seems there's lots of information about how wonderful the UNIX Apache 
2 MPMs are, but little actual substance.  In this all-singing, 
all-dancing not-so-new implementation of the world's most popular web 
server, we have - count 'em - ONE new MPM for UNIX that works.

So - could someone who understands these things comment on whether there 
is any commitment to fix perchild, or any of the other UNIX Apache 2 
MPMs at some point?  Failing that, maybe the documentation for Apache 2 
could be updated to avoid giving people the wrong impression from the 


Nick Maynard

View raw message