[AIX HP-UX Linux Solaris Windows]

Performance tuning for WebSphere Application Server Hypervisor Edition for VMWare ESX

To optimize performance, operating system and WebSphere Application Server paramaters are automatically tuned in the IBM® WebSphere® Application Server Hypervisor Edition virtual image.

Operating System Tuning

The operating system included on your virtual images has been tuned for increased performance. The following tuning parameters are automatically set in the Novell SUSE Linux® Enterprise Server or Red Hat Enterprise Linux Server images and can be modified using root only:
  • timeout_timewait parameter
    • This parameter determines the time that must elapse before TCP/IP can release a closed connection and reuse those resources. The interval between the closure of the connection and the release of the resources 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 the server costs less than establishing a new connection. By reducing the value of this parameter, TCP/IP can release the closed connections faster and provide additional resources for new connections. Adjust this parameter if the running application requires rapid release, the creation of new connections, and a low throughput due to multiple connections sitting in the TIME_WAIT state. For example, issue the following command to set the timeout_timewait parameter to 30 seconds:
      echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
    • Recommended value: 30 seconds
  • Linux file descriptors (ulimit)
    • The Linux file descriptors specify the number of open files that are supported. The default setting is typically sufficient for most applications. If the value set for this parameter is too low, a file open error, a memory allocation failure, or a connection establishment error might be displayed. Check the UNIX® reference pages on the ulimit command for the syntax of different shells. To set the ulimit command to 8192 for the Korn shell (ksh), issue the ulimit -n 8192 command. Use the ulimit -a command to display the current values for all limitations on the system resources.
    • Recommended value: 8192 files
  • Connection backlog
    • The connection backlog can be changed with the following parameters when a high rate of incoming connection requests result in connection failures. Issue the following command to set the netdev_max_backlog parameter and the somaxcon parameter to 3000 connections:
      echo 3000 > /proc/sys/net/core/netdev_max_backlog
      echo 3000 > /proc/sys/net/core/somaxconn
    • Recommended value: 3000 connections
  • TCP_KEEPALIVE_INTERVAL parameter
    • The TCP_KEEPALIVE_INTERVAL parameter determines the wait time between the isAlive interval probes. Issue the following command to set the value to 15 seconds:
      echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl
    • Recommended value: 15 seconds
  • TCP_KEEPALIVE_PROBES parameter
    • The TCP_KEEPALIVE_PROBES parameter determines the number of probes that occur before timing out. Issue the following command to set the value to 5 seconds:
      echo 5  > /proc/sys/net/ipv4/tcp_keepalive_probes
    • Recommended value: 5 seconds
SUSE Linux® Enterprise Server 11 only:
  • sched_compat_yield parameter
    • Configure the Linux kernel to use a heuristic for sched_yield() that is compatible with earlier versions, by setting the sched_compat_yield tunable kernel property to
      1
      echo 1  > /proc/sys/kernel/sched_compat_yield

Passing the clock=pmtmr boot parameter to a virtual image with a VMI kernel might cause a performance degradation

The default virtual machine interface (VMI) kernel does not pass the clock=pmtmr parameter to the kernel. However, if you pass the clock=pmtmr boot parameter to a virtual image with a VMI kernel, you might see a performance degradation. You can check for a performance degradation with standard performance bench-marking software, such as SPECjAppServer. To solve this problem, use an editor, such as vi, and open the /boot/grub/menu.lst file and remove the clock=pmtmr boot parameter on the kernel command line for the desired VMI kernel. Example: /boot/grub/menu.lst

WebSphere Application Server Tuning

WebSphere Hypervisor Edition automatically tunes application servers and deployment managers based on the virtual resources allocated to the virtual image. The automatic tuning attempts to optimize your virtual system for performance, but can easily be changed to meet the specific needs of your application. The Java heap size is sized based on the allocated virtual memory; WebSphere Application Server web container threads are sized based on the number of virtual CPUs.




Related concepts
WebSphere Application Server Hypervisor Edition overview
Concept topic Concept topic    

Terms and conditions for information centers | Feedback

Last updatedLast updated: Jun 14, 2012 5:51:46 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v610hyperv&product=was-nd-mp&topic=cins_virt_os
File name: cins_virt_os.html