Web Server Parameter Configuration

This form are used for configure some of the HTTP Server parameters.
Web Server Parameter Configuration

HTTP Server Parameters

These settings should be considered for systems with several hundred concurrent users.

Timeout

Defines the amount of time the server will wait for I/O such as reading data from the client and writing data to the client.

KeepAliveTimeout

The number of seconds the server will wait for subsequent requests before closing the connection. Setting KeepAliveTimeout to a high value may cause performance problems in heavily loaded servers. the higher the timeout, the more server threads will be kept occupied waiting on connections with idle clients.

You rarely need to change the default.

Multi-Processing Module (WinNT MPM)

Specifies the MPM-specific parameters for Windows.

ThreadsPerChild

Constant number of worker threads in the server process.

 The ThreadsPerChild directive is important. It tells the server how many threads it should use. This is the maximum number of connections the server can handle at once, so be sure to set this number high enough for your system if you expect a lot of concurrent hits.

The default value is ThreadsPerChild 600, but this must be adjusted to reflect the greatest anticipated number of simultaneous connections to accept.

Please note that this is not the same thing as the maximum number of concurrent users. Rather, it sets the maximum number of concurrently executed requests.

Using WinNt MPM, ThreadsPerChild cannot exceed 15 000. However the real limits are the sum of the fixed startup cost of memory for each thread + the maximum runtime memory usage per thread, which varies based on configuration and workload.

NOTE: A rule of thumb to calculate an appropriate value is to multiply the maximum number of concurrently logged on users by 1.5. This means that the default value will cater for 400 concurrently logged on users doing 200 simultaneous requests.

 

ThreadLimit

ThreadLimit sets the upper limit on the configurable number of ThreadsPerChild process. This value are configured automatically and set to same value as ThreadsPerChild.

 

Multi-Processing Module (Worker MPM)

Specifies the MPM-specific parameters for Linux and Unix platforms.

 MaxClients

MaxClients restricts the total number of threads that will be available to serve clients. The maximum value of this directive are restricted by ServerLimit (default 16) multiplied to ThreadsPerChild.

Configuring the MaxClients directive will automatically adjust the ThreadsPerChild and ThreadLimit directive.

The MaxClients directive is set to not exceed 15 000. Setting this value too high will at some point result in higher RAM usage but no performance improvement.

NOTE: A rule of thumb to calculate an appropriate value for MaxClients  is to multiply the maximum number of concurrently logged on users by 1.5. This means that the default value will cater for 400 concurrently logged on users doing 200 simultaneous requests.

ThreadsPerChild

Using Worker MPM then ThreadsPerChild tells the server how many threads created by each child process.

The total number of threads should be high enough to handle the common load on the server. The ThreadsPerChild directive is automatically set to a higher value than the MaxClients directive. The total number threads created is calculated by multiply ThreadsPerChild with ServerLimit. Default the ServerLimit directive is set to 16.

 

NOTE: The Worker Multi-Processing Module are used on all supported Linux and Unix platforms.

 

 

HTTP Server Monitoring

HTTP Server monitoring can be useful in a tuning scenario. It is disabled by default.

Server Status

Allow server status reports generated by mod_status. Allow server status reports generated by mod_status. When enabled it can be accessed from the server only with the URL of http://servername/server-status

ExtendedStatus

Apache will generate "full" status information instead of basic information when the "server-status" handler is called. When Server Status is enabled this directive will automatically be activated.

Server Info

Allow to display server configuration reports on the server. When enabled it can be accessed from the server only with the URL of http://servername/server-info

Allow from

Specify the clients allowed to access, if enabled, the URL:s http://servername/server-status and http://servername/server-info. Default are set to only the server itself.

NOTE: Multiple clients can be allowed access if they are separated by a whitespace: "client1.yourdomain.com client2.yourdomain.com". You can also allow access from a specific domain using the following format: ".yourdomain.com".

Set Request Limit

For most installations the default limits are fine as is, but when configuring Single Sign-On the limits can be too low. The size depends on the user in the Active Directory and it may be necessary to trace the requests in order to find the best value but SPNEGO headers alone can take up as much as 12392 bytes. Receiving 'Bad Request'-errors is often an indication that any of these values must be raised.

LimitRequestFieldSize: Specifies the limit in bytes that will be allowed in an HTTP request header.
LimitRequestLine: Specifies the number of bytes allowed in the HTTP request line.