(Dist) Tune AIX systems
TCP_TIMEWAIT
Time, in 15 second intervals, that must elapse before TCP/IP can release a closed connection and reuse its resources. For example, if we specify a value of 1 for this property, 15 seconds 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.
To set TCP_TIMEWAIT state to 1 (15 seconds):
/usr/sbin/no -o tcp_timewait=1
AIX file descriptors (ulimit)
Various restrictions on resource usage on the user account. The ulimit -a command displays all the ulimit limits including the number of open files that are permitted. The default number of open files setting (2000) 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. Because this value limits the number of file descriptors that a server process might open, a value that is too low prevents optimum performance.
To change the open file limit to 10,000 files:
- Open the command window.
- Edit the /etc/security/limits file. Add the following lines to the user account that the WAS process runs on:
nofiles = 10000
nofiles_hard = 10000- Save the changes.
- Restart your AIX system.
- To verify the result, type the ulimit -a command on the command line.
The default setting is 2000.
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. IBM recommends changing the ulimit for data to "unlimited".
AIX ARP Table Bucket Size
To view the number of ARP packets sent and the number of ARP entries purged from the ARP table.
netstat -p arp
If large number of entries are being purged, increase the ARP table size. Use arp -a to show the ARP table hashing distribution.
Set:
no -r -o arptab_bsiz=10
Default values specified as:
arptab_nb=149 Defines the number of buckets in the ARP table. arptab_bsiz=7 Defines the number of entries in each bucket of the ARP table.
TCP_KEEPINTVL
The interval between packets sent to validate the connection.
To set the value to 5 seconds:
no -o tcp_keepintvl=10
Default value: 150(1/2 seconds)
Recommended value: 10(1/2 seconds)
TCP_KEEPINIT
The initial timeout value for TCP connection. To set the value to 20 seconds:
no -o tcp_keepinit=40
Default value: 150(1/2 seconds)
Recommended value: 40(1/2 seconds)
Allocating 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 using large page support provided by the CPU and the operating system. The following steps allocate 4 GB of RAM as large pages (16 MB):
- As root user, reserve 4 GB of large page:
vmo -r -o lgpg_regions=256 -o lgpg_size=16777216
bosboot -ad /dev/ipldevice
reboot -q- After reboot, to enable large page support on the AIX operating system:
vmo -p -o v_pinshm=1
- As root user, add the following capabilities for the user:
chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE $USER
- Add the -Xlp Java options to the Java command.
- Click Servers > Server Types > WebSphere application servers > server.
- Under Server Infrastructure, click Java and Process Management > Process definition > Java Virtual Machine.
- In the Generic JVM Argument field, add -Xlp.
- Add the EXTSHM custom property and set to OFF.
- Click Servers > Server Types > WebSphere application servers > server.
- Under Server Infrastructure, click Java and Process Management > Process definition > Environment Entries > New.
- In the Name field, enter EXTSHM.
- In the Value field, enter OFF.
- Validate large page support is used with the following command:
vmstat -l 1
The "alp" column is non-zero when the application is running.
Enable large pages might have serious consequences. 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. For more information, read the Tuning Java virtual machines information.
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 the performance: resources for learning information.
AIX operating systems with DB2
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 containing the Journaled File System (JFS) service. AIX uses specific volume groups and file systems for the JFS logging. 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.
The default location for the DB2 log files is often the same disk drive where the database tables are stored. Move the files to a disk that is separate from the DB2 data and has the minimum input or output activity.
This tuning procedure improves performance of WAS on the AIX operating system.
What to do next
After tuning the operating system for performance, consult the other tuning topics for various tuning tips.
Tune Windows systems Tune Linux systems Tune Solaris systems Tune HP-UX systems Tune the IBM virtual machine for Java DB2 tuning parameters Performance: Resources for learning AIX Cache Tuning AIX Large pages