Tuning parameters | httpd.conf settings


AIX web server settings


+

Search Tips   |   Advanced Search



TCP_TIMEWAIT

Time that must elapse before TCP/IP can release a closed connection and reuse its resources (TIME_WAIT state). During this time, reopening the connection to the client and server costs less than establishing a new connection.

Reduce if a low throughput occurs due to many connections sitting in the TIME_WAIT state

Use "no -a" to determine current value.

To set TCP_TIMEWAIT state to 15 seconds:

/usr/sbin/no -o tcp_timewait =1

The value (1) is in 15 second increments. For example, 1 equates to 15 seconds, 2 equates to 30 seconds, and so on. IBM recommends that you set the value to 1 or 2.


AIX file descriptors (ulimit)

Number of open files permitted. The default setting is typically sufficient for most applications. If the value set for this parameter is too low, a Memory allocation error is displayed.

To display the current values. as user who owns WAS processes, run...

ulimit -a

For AIX systems, the default setting is 2000.

Recommended: The value is application dependent and applies exclusively to application program data and the application stack.

Increasing the ulimit file descriptor limits might improve performance. Increasing some of the other limits might be needed depending on the application. Any changes to the data or stack ulimits should ensure that data+stack < 256MB (for 32-bit WAS only).

IBM recommends that you change the ulimit for data to "unlimited".

To change the open file limit to 10,000 files:

  1. Open the command window.

  2. Edit /etc/security/limits

  3. Add the following lines to the user account that the WAS process runs on:

    nofiles = 10000
    nofiles_hard = 10000

  4. Save the changes.

  5. Restart the AIX system.

  6. To verify the result: ulimit -a

 

AIX TCP_KEEPIDLE

The keepAlive packet ensures that a connection stays in an active/ESTABLISHED state.

Use "no -a" determine the current value. The change is effective until the next time you restart the machine. To permanently change the value, add the no command to the /etc/rc.net directory. For example:

no -o tcp_keepidle=600

Default: 14400 half seconds (2 hours).

Recommended: 600 half seconds (5 minutes).

 

TCP_KEEPINTVL

Interval between packets that are sent to validate the connection.

To set the value to 5 seconds:

no -o tcp_keepintvl=10

Default: 150(1/2 seconds)

Recommended: 10(1/2 seconds)

 

TCP_KEEPINIT

Initial timeout value for TCP connection.

To set to value to 20 seconds:

no -o tcp_keepinit=40

Default: 150(1/2 seconds)

Recommended: 40(1/2 seconds)

 

Allocate large pages (16 MB) for Java virtual machines heap

Some applications require a very large heap for optimal performance. Reduce the CPU overhead of managing a large heap by using large page support that is provided by the CPU and the operating system. The following steps allocate 4 GB of RAM as large pages (16 MB):

  1. As root user, run the following commands to reserve 4 GB of large page:

    vmo -r -o lgpg_regions=256 -o lgpg_size=16777216
    bosboot -ad /dev/ipldevice
    reboot -q

  2. After reboot, run the following command to enable large page support on the AIX operating system:

    vmo -p -o v_pinshm=1

  3. As root user, add the following capabilities for the user:

    chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE $USER

  4. Add the -Xlp Java options to the Java command.

    1. Click Servers > Server TypesWebSphere appservers > server_name.

    2. Under Server Infrastructure, click Java and Process Management > Process definition > Java Virtual Machine.

    3. In the Generic JVM Argument field, add -Xlp.

  5. Add the EXTSHM custom property and set to OFF.

    1. Click Servers > Server TypesWebSphere appservers > server_name.

    2. Under Server Infrastructure, click Java and Process Management > Process definition > Environment Entries > New.

    3. In the Name field, enter EXTSHM.

    4. In the Value field, enter OFF.

  6. Validate large page support is used with the following command:

    vmstat -l 1

    The "alp" column is non-zero when the application is running.

There are several concerns when enabling large pages, which can cause serious events to occur on the machine when large pages are enabled.

See: Considerations for using large pages

If we do not want to use the large pages option, there is also a medium page option. The medium page size option, which is similar, and has close to the same performance gains as large pages. However, it does not involve the problems of reserving physical memory for a specific user or process.

See the -Xlp64k option in the Tuning Java virtual machines topic.