Disable RSC (Receive Segment Coalescing)
Recently a number of SuperMicro servers operating as hypervisors were experiencing slow network throughout. After investigating it was determined that RSC (Receive Segment Coalescing) was the root cause of the slowdown. Disabling the feature on all NICs resolved the issue.
Here are the steps I took to disable RSC.
What is Receive Segment Coalescing?
RSC is a stateless offload technology that helps reduce CPU utilization for network processing on the receive side by offloading tasks from the CPU to an RSC-capable network adapter. CPU saturation due to networking-related processing can limit server scalability.
Source: Microsoft Docs
Physical & Virtual NICs
First determine if RSC is enabled or disabled on your host’s network adapter(s).
Get-NetAdapterRsc *
Once determined, run Disable-NetAdapterRsc
to disable the feature. Note, there will be a momentary network disruption of approximately 3-4 seconds when the setting is changed. I recommend running this operation outside of normal operating hours to ensure no interruptions.
Disable-NetAdapterRsc -Name “Network Adapter Name"
If you need to re-enable RSC, you can do so with its inverse command.
Enable-NetAdapterRsc -Name “Network Adapter Name"
Hyper-V vSwitches
For vSwitches within Hyper-V, use the following commands to enable/disable the feature. You can determine if RSC is enabled via the Get-VMSwitch | Select Name,*RSC*
command.
# Disables RSC.
Set-VMSwitch -Name "vSwitch" -EnableSoftwareRsc $FALSE
# Enables RSC.
Set-VMSwitch -Name "vSwitch" -EnableSoftwareRsc $TRUE
Hope that helps!