Apache configuration riddle
William Muriithi
william.muriithi-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org
Fri May 7 19:40:30 UTC 2010
Hi
I am just in the process of setting up a low traffic web server to be
used internally, and in the course of doing it, decided to tighten the
default configuration - basic security stuff. Its on doing so that got
to think a little bit about sever pool size regulations and I got the
impression the default configuration does not make sense.
Basically, my problem is both prefork and worker MPM are enabled. When
I googled on the topic, these two features seems exclusive. Prefork
would be more ideal for system with single or dual CPU. Its apparently
is also recommended when you are running software which is not thread
safe. On the other side, workers would be used on system with let say
more than 8 CPUs
The odd thing though, prefork is statically compiled. This is the
default rpm shipped with Centos 5. Why do they then offer a
configuration file that imply you can enable worker MPM? How does
apache handle a configuration file that has both MPM enabled? I am
missing something obvious?
httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
William
--
The Toronto Linux Users Group. Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists
More information about the Legacy
mailing list