Start with something like this:

MaxClients          150
MaxSpareThreads  75

in the default conf file, which is a very reasonable way to run.

Then realize you need to support boatloads more clients, so you bump
up MaxClients to 5000.  Now when load changes very slightly (as a
percentage of MaxClients), which happens continuously, the web server
will create or destroy a child process.  Okay, it works, but you can
remain stuck in the confusing state where there are multiple child
processes using the same process_score, and you can see lots more
httpd processes than you expect, and you can start worrying if you're
going to run out of paging/swap space since there are so many darn
httpd processes.  (A lot of these are terminating.)

Any comments on these two separate proposals?

a) "MaxSpareThreads auto"
the "auto" keyword means automatically set this to 50% of MaxClients;
stick this in Apache default conf file

b) tweak worker MPM to automatically bump the value of MaxSpareThreads
to at least 15% of MaxClients, with a warning written to the error log

Reply via email to