User Tools

Site Tools


httpd_conf_prefork

MPM http://serverfault.com/questions/383526/how-do-i-select-which-apache-mpm-to-use

In apache versions prior to 2.4 the defaults values are configured in the httpd.conf (or apache2.conf file).

In Apache 2.4 and later the prefork values are not configured anywhere.
If you wish to change these values you will need to manually enter them into the httpd.conf file

httpd.conf prefork values

<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>


Value Definition
StartServers The StartServers directive sets the number of child server processes created on startup. As the number of processes is dynamically controlled depending on the load, there is usually little reason to adjust this parameter.
MinSpareServers The MaxSpareServers directive sets the desired maximum number of idle child server processes. An idle process is one which is not handling a request. If there are more than MaxSpareServers idle, then the parent process will kill off the excess processes. Tuning of this parameter should only be necessary on very busy sites. Setting this parameter to a large number is almost always a bad idea. If you are trying to set the value lower than MinSpareServer.
MaxSpareServers The MinSpareServers directive sets the desired minimum number of idle child server processes. An idle process is one which is not handling a request. If there are fewer than MinSpareServers idle, then the parent process creates new children at a maximum rate of 1 per second. Tuning of this parameter should only be necessary on very busy sites. Setting this parameter to a large number is almost always a bad idea.
MaxClients The MaxClients directive sets the limit on the number of simultaneous requests that will be served. Any connection attempts over the MaxClients limit will normally be queued. Once a child process is freed at the end of a different request, the connection will then be serviced. Generally number of MaxClients=(Total RAM memory – RAM memory used for other process except Apache process) / (Memory used by Single Apache process)
MaxRequestsPerChild The MaxRequestsPerChild directive sets the limit on the number of requests that an individual child server process will handle. After MaxRequestsPerChildrequests, the child process will die. If MaxRequestsPerChild is 0, then the process will never expire. You can keep it high (20000-25000) but never set it to 0.
httpd_conf_prefork.txt · Last modified: 2024/05/23 07:26 by 127.0.0.1