31.10 Tuning OHS /Apache Prefork and Worker MPM Modules for OAM

Oracle recommends specific tuning parameters with Webgates for these Web servers.

The tuning parameters described in this section are configured in the httpd.conf file with Apache v2.0 and OHS11g. For Apache v2.2, however, tuning is configured in the following files:

  • apache_install_dir/conf/extra/httpd-mpm.conf

  • apache_install_dir/conf/extra/httpd-default.conf

Also for Apache v2.2, the entries for httpd-mpm.conf and httpd-default.conf should be uncommented, as follows:

From:

#Include conf/extra/httpd-mpm.conf
#Include conf/extra/httpd-default.conf

To:

Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-default.conf

Use the following topics as needed for your environment:

31.10.1 Oracle HTTP Server /Apache Prefork MPM Module Parameters

When using Access Manager with either the Oracle HTTP Server or Apache Prefork MPM module, Oracle recommends the following as broad guidelines.

  • Timeout 300

  • KeepAlive On

  • MaxKeepAliveRequests 500

  • KeepAliveTimeout 10

  • StartServers: 5 (Initial number of processes to start; used only on startup.)

  • MaxClients: 500 (Total number of processes to handle load at peak time. Determines how many child processes will be created to handle requests at peak period.

  • ServerLimit: 500 (The maximum configured value for MaxClients for the lifetime of the process. If MaxClients is set to a value higher than the default, ServerLimit value should be specified above the rest of the parameters.

  • MinSpareServers, MaxSpareServers: Default values should suffice requirements to handle a heavy load. During operation, these values regulate how the parent process creates children to serve requests.

  • MaxRequestsPerChild: 0 - Number of requests sent to each child process. 0 indicates the process never expires/dies

31.10.2 Oracle HTTP Server /Apache Worker MPM Module Parameters

When using Access Manager with either the Oracle HTTP Server or the Apache Worker MPM module, Oracle recommends the following as broad guidelines.

  • Timeout 300
  • KeepAlive On
  • MaxKeepAliveRequests 500
  • KeepAliveTimeout 10
  • StartServers: 2 (Initial number of processes to start; used only on startup.)
  • MaxClients: 500 (Total number of processes to handle load at peak time. Determines how many child processes will be created to handle requests at peak period.
  • ServerLimit: 25 (The maximum configured value for MaxClients for the lifetime of the process. If MaxClients is set to a value higher than the default, ServerLimit value should be specified above the rest of the parameters.
  • MinSpareServers, MaxSpareServers: 25, 75. During operation, these values regulate how the parent process creates children to serve requests.
  • ThreadsPerChild: 25 (The number of worker threads in single httpd process.)
  • MaxRequestsPerChild: 0 (This directive sets the limit on the number of requests that an individual child server process will handle. The value 0 will ensure that the process never expires.)

31.10.3 Kernel Parameters

Oracle recommends that you ensure the kernel parameters for the soft and hard limit on the file descriptors are set to a high value.

For example:

Hard limit (rlim_fd_max): 65535

Soft limit (rlim_fd_cur): 65535

The high value of the file descriptor is a strong recommendation for the Apache server that will open and close sockets for requests.