Tune Windows systems
This topic describes how to tune Windows 2000, Windows XP, and Windows 2003 operating systems to optimize the performance of WebSphere Application Server. Because Windows operating systems are not WAS products, be aware that the products can change and results can vary.
Overview
When you have a performance concern, check the operating system settings to determine if they are appropriate for your application.
Procedure
Configure the following settings or variables according to your specific tuning needs:
- TcpTimedWaitDelay
- 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 and provide more resources for new connections. Adjust this parameter if the running application requires rapid release, the creation of new connections, or an adjustment because of a low throughput caused by multiple connections in the TIME_WAIT state.
- To set:
- Use the regedit command, access the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters registry subkey, and create a new REG_DWORD value named TcpTimedWaitDelay.
- Set the value to decimal 30, which is Hex 0x0000001e. This value sets the wait time to 30 seconds.
- Stop and restart the system.
- Default value: 0xF0, which sets the wait time to 240 seconds (4 minutes).
- Recommended value: A minimum value of 0x1E, which sets the wait time to 30 seconds.
- MaxUserPort
- Description: Determines the highest port number that TCP/IP can assign when an application requests an available user port from the system.
- To set:
- Use the regedit command, access the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters registry subkey, and create a new REG_DWORD value named MaxUserPort.
- Set this value to at least decimal 32768.
- Stop and restart the system.
- Default value: None
- Recommended value: At least decimal 32768.
- MaxConnect Backlog
- Description: If many connection attempts are received simultaneously, increase the default number of pending connections that are supported by the operating system.
- To set:
- Use the regedit command and access the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters registry subkey
- Create and set (and create if necessary) the following values:
"EnableDynamicBacklog"=dword:00000001 "MinimumDynamicBacklog"=dword:00000020 "MaximumDynamicBacklog"=dword:00001000 "DynamicBacklogGrowthDelta"=dword:00000010
- These values request a minimum of 20 and a maximum of 1000 available connections. The number of available connections is increased by 10 each time that there are fewer than the minimum number of available connections.
- Stop and restart the system.
- KeepAliveInterval
- Description: Determines how often TCP repeats keep-alive transmissions when no response is received.
- To set:
- Use the regedit command, access the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters registry subkey, and create a new REG_DWORD value named KeepAliveInterval.
- Set this value to 1 second.
- Stop and restart the system.
- Default value: 1 second
- Recommended value: None
- TcpMaxDataRetranmission
- Description: Determines how many times TCP retransmits an unacknowledged data segment on an existing connection.
- To set:
- Use the regedit command, access the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters registry subkey, and edit or create a new REG_DWORD value named TcpMaxDataretranmissions.
- Set this value to 5 seconds
- Stop and restart the system.
- Default value: 5 second
- Recommended value: None
- TPC/IP acknowledgements
TCP/IP can be the source of some significant remote method delays. You can increase TCP performance by immediately acknowledging incoming TCP segments, in all situations.
Complete the following steps to immediately acknowledge incoming TCP segments on a server that runs a Microsoft Windows 2000 operating system:
- Start the Registry Editor (regedit.exe).
- Locate and click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
- On the Edit menu, click Add Value, and create the following registry value:
Value name: TcpDelAckTicks Data type: REG_DWORD Value data: 0 Quit Registry Editor.
- Restart your Windows operating system.
Similarly, to immediately acknowledge incoming TCP segments on a server that runs a Microsoft Windows XP or Windows Server 2003 operating system:
- Start the Registry Editor (regedit.exe).
- Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
- On the Edit menu, click New > DWORD Value.
- Name the new value, TcpAckFrequency, and assign it a value of 1.
- Close the Registry Editor.
- Restart your Windows operating system.
- Large page support
- Description: Using large pages can reduce the CPU overhead of managing a large JVM heap.
- To set: The Windows operating system provides large page support by default. Use the -Xlp JVM option to make use of this support.
Results
This tuning procedure improves performance of WebSphere Application Server on Windows 2000, Windows XP, and Windows 2003 operating systems.
What to do next
After tuning your operating system for performance, consult other tuning topics for various tuning tips.
Preparing Windows systems for installation
Tuning Linux systems
Tuning AIX systems
Tuning Solaris systems
Tuning HP-UX systems