I am thinking of switching from the non threaded prefork mpm to the hybrid multi-process multi-threaded worker mpm for apache (2.0.52).

It runs on a Intel(R) Xeon(TM) Quad core machine running RHEL4.

I heard the worker mpm scales better and we have been having some scaling issues recently.

/usr/sbin/httpd -l mentions prefork as the compiled in mpm. what is the best possible way to switch to the worker mpm without changing any config ? i want to avoid building from source. is there a place where i can find rpms for apache compiled with worker mpm ?

I use apache for a) blog(wordpress) b) forum(phpbb) c) serving static content for a java web app (uses mod_jk to forward dynamic requests to tomcat )

what could be the possible issues that i need to consider before i make the move ? Also, what are the typical performance improvements after switching to worker mpm ?

2 Answers 2


Since you're running PHP on that server, I would be cautious about using the Worker MPM. There are some known issues with Worker and PHP. The PHP Installation FAQ recommends against it.


The benefits of using a threaded mpm are chiefly that memory consumption is lower, so you can set MaxClients higher without hosing the box.

This is especially true if you have bloaty modules which allocate a lot of memory per-child (i.e. on child startup) which is shared between threads.

However, it is a major change and not to be taken lightly, in particular worry about your PHP's compatibility. Be sure to test any configuration change thoroughly in your non-production environments before using it in production.

And of course, like any performance-related change, you should performance test it to see if it's actually any better. This is probably nontrivial - at least it's the thing I find most difficult about making such changes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.