Tuning 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 WebSphere Application Server 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.

 

Steps for this task (dependent on configuration)

  • 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 cost 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.

    • How to view or set:

      1. 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.

      2. Set the value to decimal 30, which is Hex 0x0000001e. This value sets the wait time to 30 seconds.

      3. 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.

    • How to view or set:

      1. 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.

      2. Set this value to at least decimal 32768.

      3. 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.

    • How to view or set:

      1. Use the regedit command and access the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters registry subkey

      2. Create and set (and create if necessary) the following values

        "EnableDynamicBacklog"=dword:00000001
        
        "MinimumDynamicBacklog"=dword:00000020
        
        "MaximumDynamicBacklog"=dword:00001000
        
        "DynamicBacklogGrowthDelta"=dword:00000010
        

      3. 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.

      4. Stop and restart the system.

  • KeepAliveInterval

    • Description: Determines how often TCP repeats keep-alive transmissions when no response is received.

    • How to view or set:

      1. Use the regedit command, access the HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters registry subkey, and create a new REG_DWORD value named KeepAliveInterval.

      2. Set this value to 1 second.

      3. Stop and restart the system.

    • Default value: 1 second

    • Recommended value: None

  • TcpMaxDataretranmissions

    • Description: Determines how many times TCP retransmits an unacknowledged data segment on an existing connection.

    • How to view or set:

      1. Use the regedit command, access the Tcpip\Parameters\Interfaces\ID for Adapter registry subkey, and create a new REG_DWORD value named TcpMaxDataretranmissions.

      2. Set this value to 5 seconds

      3. 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. We 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:

      1. Start the Registry Editor (regedit.exe).

      2. Locate and click the following registry subkey

        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
        

      3. 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. 
        
        

      4. 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:

      1. Start the Registry Editor (regedit.exe).

      2. Locate and then click the following registry subkey

        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
        

      3. On the Edit menu, click New > DWORD Value.

      4. Name the new value, TcpAckFrequency, and assign it a value of 1.

      5. Close the Registry Editor.

      6. Restart your Windows operating system.

  • Large page support

    • Description: Using large pages can reduce the CPU overhead of managing a large JVM heap.

    • How to view or set: The Windows operating system provides large page support by default. Use the -Xlp JVM option to make use of this support.

 

Result

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.


 

Related Tasks


Tuning Linux systems
Tuning AIX systems
Tuning Solaris systems
Tuning HP-UX systems