Performance Tuning Guide > Tuning Operating Systems for Performance > Tuning Siebel Business Applications for AIX >

Tuning the IBM HTTP Server for AIX


This section describes recommended values for environment variables that are optimized for scalability and performance on IBM HTTP Server (IHS) Web server. You can further adjust these settings at your discretion to optimize the performance of your Web server.

The following environment variables are set in Webserver_Root/bin/startapa, where Webserver_Root is the root directory in which your Web server is installed:

export AIXTHREAD_SCOPE=S
export AIXTHREAD_MNRATIO=1:1
export AIXTHREAD_MUTEX_DEBUG=OFF
export AIXTHREAD_RWLOCK_DEBUG=OFF
export AIXTHREAD_COND_DEBUG=OFF
export CORE_NAMING=Siebel
export YIELDLOOPTIME=number_of_CPUs_on_Web_server_machine
export SPINLOOPTIME=1000
export MALLOCMULTIHEAP=heaps:number_of_CPUs_on_Web_server_machine,considersize
export MALLOCTYPE=buckets
export LDR_CNTRL=IGNOREUNLOAD@LOADPUBLIC@PREREAD_SHLIB@MAXDATA=0x60000000

For the MALLOCMULTIHEAP and YIELDLOOPTIME parameters, the values should include the number of CPUs on the Web server machine. For example, if there are two CPUs, these parameters should be defined as follows:

export MALLOCMULTIHEAP=heaps:2,considersize
export YIELDLOOPTIME=2

To set the number of threads for IBM HTTP Server

  1. Using a text editor, set values for parameters in the workers.c section of the file Web_server_install/conf/httpd.conf, where Web_server_install is the root directory in which your Web server is installed. Set the parameter values as follows:

    ThreadLimit

    N

    StartServers

    1

    ServerLimit

    1

    MaxClients

    N

    MinSpareThreads

    1

    MaxSpareThreads

    N

    ThreadsPerChild

    N

    MaxRequestsPerChild

    0

    where:

    N = A value 1 or 1.2 * maximum number of concurrent users (threads). The value for the applicable parameters can be set equal to or less than 1.2 * the number of concurrent users the Web server must support.

    High values for the MaxClients or ThreadLimit parameters can increase memory usage. If you want to reduce memory usage, it is recommended that you reduce the values that you set for these parameters.

    By default, the Web server provides persistent connections. Consider setting the KeepAlive parameter equal to Off to stop the Web server providing persistent connections. This frees connections for reuse. However, doing this can incur a cost as memory will be used to close and set up new TCP/IP connections.

    Alternatively, you can reduce the value for the KeepAliveTimeout parameter so that a thread is reused more quickly.

  2. In the file httpd.conf, also set the following values:
    • The value for ServerName must match the Primary Internet Address you used in installing SWSE.
    • Change the values for User and Group to a valid machine user and group:
      • Ideally, the user ID should have no privileges that allow access to files other than those used by the Siebel application. This user should, however, have full access rights (read, write, execute) to the SWSE installation directory and its subdirectories.
      • It is recommended that the group should be created specifically for running this server.

        CAUTION:  For security reasons, it is recommended that you do not use root for User or Group.

    • The value for UseCanonicalName is recommended to be set to Off. It must be set to Off if you are load-balancing your Web servers.
    • If you are not using the CGI functionality of IHS, you may want to comment out the line that loads the CGI module. Doing so will make tracking IHS processes simpler, because there will be always one child process. The line is as follows:

    LoadModule cgid_module modules/mod_cgid.so

Performance Tuning Guide