Wednesday 16 November 2011

TCP Transport level errors - Can be caused by TCP Chimney offload

You may sometimes get TCP Transport errors on an application server or client server trying to connect to your SQL server if TCP Chimney offload is enabled on either the SQL Server or the Client Server/Workstation. This is because this setting can impact performance and concurancy on SQL Server workloads.

For this reason I personnaly always disable this setting on my SQL Servers. This needs to be done at the operating system level and in the NIC Card Properties if the NIC support Chimney offload.

TCP Chimney offload very basically offloads TCP processing from the Processor to a NIC Card that Supports Chimney offload. See Technet article: http://technet.microsoft.com/en-us/library/gg162709%28WS.10%29.aspx

The following steps show how to disable TCP Chimney Offload. By default Server2008r2 has the setting as automatic on a global level.

Operating System for Server2008/2008r2:

1.)    Open a command prompt with elevated privileges
2.)    Run the following command to check the setting: netsh int tcp show global  (If Chimney is set to automatic or enabled go to next step)

 3.)    Run the following command to disabled TCP Chimney offload: netsh int tcp set global chimney=disabled



4.)    Run the netsh int tcp show global command again to confirm changed.


Operating System for Server 2003 SP2 or above:

1.)    Click Start, click Run, type regedit, and then click OK.
2.)    Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3.)    Right-click EnableTCPChimney, and then click Modify.
4.)    In the Value data box, type 0, and then click OK.
5.)    Right-click EnableRSS, and then click Modify.
6.)    In the Value data box, type 0, and then click OK.
7.)    Right-click EnableTCPA, and then click Modify.
8.)    In the Value data box, type 0, and then click OK.
9.)    Exit Registry Editor, and then restart the computer.

Disable TCP Chimney offload in NIC Adaptor:

1.)    Open the NIC Adapter Settings.
2.)    Click Properties
3.)    Click Configure
4.)    Click Advanced Tab
5.)    Find Offload TCP settings and set to disabled.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.