Disable TCP offloading and RSS settings - AWS Prescriptive Guidance

Disable TCP offloading and RSS settings

If you observe random connectivity issues such as transport-level errors or packet transmission errors when you run SQL workloads, you might want to disable TCP offloading and RSS settings.

  • TCP offloading (TCP Chimney Offload feature) offloads the processing of TCP/IP packets from the processor to the network adapter, to free the CPU for other tasks.

  • Receive-side scaling (RSS) helps distributes the processing of incoming network traffic on multiprocessor systems. It load balances the network processing efficiently among the CPUs.

To check your current settings, at the command prompt, run the netsh command:

$ netsh int tcp show global

Here is sample output from the command. In this example, Receive-Side Scaling State and Chimney Offload State are both disabled.

Checking TCP offloading and RSS settings

To get task offload information about a specific connection, at the command prompt, run:

netstat –t

and check the value of the offload state column.

To disable TCP offloading and RSS for Windows Server 2008 and 2012, run these commands at the command prompt:

netsh int ip set global taskoffload=disabled netsh int tcp set global chimney=disabled netsh int tcp set global rss=disabled netsh int tcp set global netdma=disabled

To learn more about these settings, see:

Important

Do not use IPsec Task Offload or TCP Chimney Offload. According to the Microsoft documentation, these offload features are deprecated in Windows Server 2016 and might not be supported in future versions. Using these features might adversely affect performance.