This page provides the following options, which set many of the limits for Apache. Generally, the defaults are reasonable, but may need to be altered for high load or low memory situations.
Maximum headers in request -- Sets the maximum headers per request. The LimitRequestFields directive in the Apache configuration file is modified by this option.
Maximum request header size - Defines the maximum header size that will be permitted. The LimitRequestFieldsize directive is modified by this option. From the Apache documentation, "[t]his directive gives the server administrator greater control over abnormal client request behavior, which may be useful for avoiding some forms of denial-of-service attacks. Under normal conditions, the value should not be changed from the default."
Maximum request line size - Defines the maximum length of a HTTP request-line. This line needs to be long enough to contain any resource name on the system, and the default is generally recommended. This option edits the LimitRequestLine directive in the Apache configuration.
Maximum concurrent requests - The maximum number of allowed concurrent requests. Each request to Apache spawns a new daemon, and this defines the upper limit on how many such daemons will be spawned to answer requests. This option correlates to the MaxClients directive. To configure more than 256 you will probably have to edit HARD_SERVER_LIMIT entry in httpd.h and recompile your Apache, unless package has already been configured for high loads.
Maximum requests per server process - The maximum number of requests that each child process will answer before being killed and respawned. This is useful for a couple of reasons. First, if there are any accidental memory leaks (anywhere in the process, including its modules), the damage can be minimized by restarting processes regularly. Also, without using this option the system will always keep alive the largest number of processes it has ever needed, even during low load periods when far fewer processes are needed to answer requests. This option correlates to the MaxRequestsPerChild directive.
![]() | For KeepAlive requests, only the first request is counted towards this limit. In effect, it changes the behavior to limit the number of connections per child. |
Maximum spare server processes - This defines the maximum number of unused server processes that will be left running. This option configures the MaxSpareServers directive. There is usually no need to tune this option.
Minimum spare server processes - The minimum number of child processes that will be left running. For high load servers, this may need to be raised, and for low memory and low load systems it might be best to reduce the number. This option correlates to the MinSpareServers directive.
Initial server processes - The number of child processes that are spawned when the httpd is started. Correlates to the StartServers directive. Usually does not need to be modified.
Display extended status information - If the status modules is enabled on the server, turning this on will keep track of extended status information for each request. This option edits the ExtendedStatus directive.