[IBM i]

Tuning web servers for IBM i

The product provides plug-ins for several web server brands and versions. If you are running your web server on a non-IBM® i platform, see the product documentation for performance tuning information.

About this task

The IBM HTTP Server (powered by Apache) is a multi-process, multi-threaded server. To tune this web server:

Procedure

  • Enable the access logs.
    The access logs record all incoming HTTP requests. Logging can degrade performance even though logging occurs in a separate process from the web server function.

    By default, the access log is disabled. It is recommended that you do not enable the access logs unless you need a record of all incoming HTTP requests.

    To enable the access logs:

    1. Open the IBM HTTP Server httpd.conf file, located in the /QIBM/ProdData/HTTPA/conf directory.
    2. Search for lines with the text CustomLog.
    3. Remove the hash mark (#) at the beginning of the line to enable a custom access log.
    4. Save and close the httpd.conf file.
    5. Stop and restart the IBM HTTP Server.
  • Change the ThreadsPerChild directive setting.
    The ThreadsPerChild directive specifies the maximum number of concurrent client requests that the server processes at any time. The web server uses one thread for each request that it processes. The value specified for this directive does not represent the number of active clients.

    To change the ThreadsPerChild directive setting:

    1. Open the IBM HTTP Server httpd.conf file, located in the /QIBM/ProdData/HTTPA/conf directory.
    2. Search for the ThreadsPerChild directive.
    3. Change the setting.
      The default value is 40. It is recommended that you either use the default value or increase the value if you need to increase the number of concurrent client requests that the server can process at any time. You should not decrease the setting of this directive.
    4. Save and close the httpd.conf file.
    5. Stop and restart the IBM HTTP Server.
  • Change the ListenBackLog directive setting.
    This directive specifies the length of the pending connections queue. When several clients request connections to the IBM HTTP Server, and all threads are in use, a queue is created to hold additional client requests.

    If you use the default Fast Response Cache Accelerator (FRCA) feature, the value specified for the ListenBackLog directive is ignored, because FRCA uses its own internal queue.

    To change the ListenBackLog directive setting:

    1. Open the IBM HTTP Server httpd.conf file, located in the /QIBM/ProdData/HTTPA/conf directory.
    2. Search for the ListenBackLog directive.
    3. Change the setting.
      For the IBM HTTP Server 1.3.26, the default setting is 1024 if FRCA is enabled, and 511 if FRCA disabled. It is recommended that you use these default values.
    4. Save and close the httpd.conf file.
    5. Stop and restart the IBM HTTP Server.