1

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 ?

letronje
  • 429
  • 1
  • 6
  • 16

2 Answers2

3

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.

Anthony Lewis
  • 909
  • 7
  • 8
0

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.

MarkR
  • 2,898
  • 16
  • 13