Tuning AIX systems

This topic describes how to tune the AIX operating system to optimize the performance of your WebSphere Application Server. Because the AIX operating system is not a WAS product, be aware that it can change and results can vary.

 

Steps for this task (dependent on configuration)

  • TCP_TIMEWAIT

    • Description: Determines the time that must elapse before TCP/IP can release a closed connection and reuse its resources. This interval between closure and release is known as the TIME_WAIT state or twice the maximum segment lifetime (2MSL) state. During this time, reopening the connection to the client and server costs less than establishing a new connection. By reducing the value of this entry, TCP/IP can release closed connections faster, providing more resources for new connections. Adjust this parameter, if the running application requires rapid release or the creation of new connections, or if a low throughput occurs due to many connections sitting in the TIME_WAIT state.

    • How to view or set:

      Issue the following command to set TCP_TIMEWAIT state to 15 seconds

      /usr/sbin/no –o tcp_timewait =1
      

  • AIX operating systems with DB2

    • Description: Separating your DB2 log files from the physical database files can boost performance. We can also separate the log and the database files from the drive that contains the Journaled File System (JFS) service. AIX uses specific volume groups and file systems for the JFS logging.

    • How to view or set: Use the AIX filemon utility to view all the file system input and output and to strategically select the file system for the DB2 log files. Set the DB2 log location according to the DB2 tuning parameters topic.

    • Default value: The default location for the DB2 log files is often the same disk drive where the database tables are stored.

    • Recommended value: Move the files to a disk that is separate from the DB2 data and has the minimum input or output activity.

  • AIX file descriptors (ulimit)

    • Description: Number of open files that are permitted. The default setting is typically sufficient for most applications. If the value set for this parameter is too low, errors might occur when opening files or establishing connections. A Memory allocation error might be displayed. To prevent WAS from running short on resources, remove the upper limits (ulimit) for resources on the user account that the WAS process runs on.

    • How to view or set: Perform the following steps to change the ulimit settings:

      1. Open the command window.

      2. Type smitty users to open the AIX configuration program.

      3. Select Change or Show Characteristics of a user.

      4. Type the name of the user account that WAS runs on.

      5. Press Enter.

      6. Change the following settings to the indicated value

            Soft FILE Size      -1
            Soft CPU Time       -1
            Soft STACK Size     -1
            Soft CORE File Size  -1
            Hard FILE Size      -1
            Hard CPU Time      -1
            Hard STACK Size    -1
            Hard CORE File Size  -1
        
        

      7. Press Enter to save changes.

      8. Log out and log in your account.

      9. Restart WebSphere Application Server.

    • Default value: For the AIX operating system, the default setting is 2000.

    • Recommended value: Unlimited

  • AIX TCP_KEEPIDLE

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

    • How to view or set: Use the no command to determine the current value or to set the 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 value: 14400 milliseconds.

    • Recommended value: 600 milliseconds.

  • TCP_KEEPINTVL

    • Description: Interval between packets that are sent to validate the connection.

    • How to view or set: Use the following command to set the value to 5 seconds

      no -o tcp_keepintvl=5
      

    • Default value: 150(1/2 seconds)

    • Recommended value: 5 seconds

  • TCP_KEEPINIT

    • Description: Initial timeout value for TCP connection.

    • How to view or set: Use the following command to set the value to 20 seconds:

      no -o tcp_keepinit=20

    • Default value: 150(1/2 seconds)

    • Recommended value: 20 seconds

  • Allocating large pages 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 provided by the CPU and the operating system. The following steps allocate 4GB of RAM as large pages:

    1. As root user, run the following commands to reserve 4GB 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.

    5. Validate large page support is used with the following command

       vmstat  -l  1
      

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

  • Other AIX information

    • Consider the other AIX operating system settings that are not within the scope of this document. We can adjust the following additional settings:

      • Adapter transmit and receive queue

      • TCP/IP socket buffer

      • IP protocol mbuf pool performance

      • Update file descriptors

      • Update the scheduler

      For more information about AIX operating systems, see Performance: Resources for learning.

 

Result

This tuning procedure improves performance of WebSphere Application Server on the AIX operating system.

 

What to do next

After tuning your operating system for performance, consult other tuning topics for various tuning tips.


 

Related Tasks


Tuning Windows systems
Tuning Linux systems
Tuning Solaris systems
Tuning HP-UX systems