What is receive segment coalescing?
Receive Segment Coalescing (RSC) in the vSwitch is a feature in Windows Server 2019 and Windows 10 October 2018 Update that helps reduce host CPU utilization and increases throughput for virtual workloads by coalescing multiple TCP segments into fewer, but larger segments.
What is Receive Segment Coalescing state?
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.
What is segment coalescing?
Receive Segment Coalescing (RSC) is an offload technology in Windows Server 2012 and Windows Server 2012 R2 that can help reduce how much of the CPU is used in network processing. . This, in turn, allows the CPU to take care of other important tasks, including increased productivity and scalability support.
How do I stop receiving segment coalescing?
- Hold the Windows Key and Press X.
- Choose Windows Powershell (Admin) from the context menu.
- Type powershell Get-Netadapter and note down the value under Name for your Wifi.
What is Netadapter RSC?
Description. The Disable-NetAdapterRsc cmdlet disables receive segment coalescing (RSC) on a network adapter. . RSC takes multiple packets that were received within the same interrupt period and combines the packets into a single large package to be processed by the network stack.
Intel Adapter with Download Slowdowns? We have a fix! — Five Minute Fridays
28 related questions found
How do I turn off RSC?
Detailed RSC info: RSC equipped vans have a special ABS sensor & tone ring that cannot be modified. If you simply unplug the ABS wire, the van will go into a limp mode. You can turn off the RSC system via the button on the dash, but the “service RSC system” message will chime until it drives you mad.
What is receive side scaling?
When Receive Side Scaling (RSS) is enabled, all of the receive data processing for a particular TCP connection is shared across multiple processors or processor cores. Without RSS, all of the processing is performed by a single processor, resulting in inefficient system cache utilization.
How can I improve Windows 2019 performance?
- Switch to High-Performance Power.
- Disable DOS 8.3 Short File Names.
- Check for CPU or RAM Consuming Processes.
- Scan for Malware.
- Check Network Speeds.
- Update Relevant Drivers.
- Check for Signs of Attack.
- Disable SMB Packet Signing.
What is d0 packet coalescing?
Packet coalescing is the grouping of packets as a way of limiting the number of receive interrupts and, as a result, lowering the amount of processing required. . an interrupt event message is received, such as a send completion.
What does large send offload do?
In computer networking, large send offload (LSO) is a technique for increasing egress throughput of high-bandwidth network connections by reducing CPU overhead. It works by passing a multipacket buffer to the network interface card (NIC). The NIC then splits this buffer into separate packets.
Should I turn off packet coalescing?
Coalescing the interrupts amounts to a wait which will enhance throughput but degrade latency. Disabling the Interrupt Coalescing and thus forcing the NIC to interrupt the CPU for each packet will provide the minimal latency but lower throughput.
How do I enable PME?
- Go into the device manager and double-click on your Intel NIC under «Network adapters» as shown in Figure 1. .
- Select the «Advanced» tab and select the property «Enable PME» shown in Figure 2.
What is maximum RSS queue?
Note: This Knowledge Base article lists the maximum RSS queue count as 8.
Why do servers get slow?
The «Big 3» (aka CPU, RAM, and Disk I/O) Now, let’s look at the three biggest causes of server slowdown: CPU, RAM, and disk I/O. CPU usage can cause overall slowness on the host, and difficulty completing tasks in a timely fashion.
What is SMB signing?
SMB signing (also known as security signatures) is a security mechanism in the SMB protocol. . The client puts a hash of the entire message into the signature field of the SMB header. SMB signing first appeared in Microsoft Windows 2000, Microsoft Windows NT 4.0, and Microsoft Windows 98.
How do I troubleshoot a slow server?
- Step 1: Check I/O wait and CPU Idletime. .
- Step 2: IO Wait is low and idle time is low: check CPU user time. .
- Step 3: IO wait is low and idle time is high. .
- Step 4: IO Wait is high: check your swap usage. .
- Step 5: swap usage is high. .
- Step 6: swap usage is low.
What is the purpose of receive side scaling?
Receive side scaling (RSS) is a network driver technology that enables the efficient distribution of network receive processing across multiple CPUs in multiprocessor systems.
How do I turn on receive side scaling?
- From Server Manager/Local Server/Network Connections select the NIC that Delphix will be connecting to.
- Select Properties and then Configure.
- From the Property menu on the left, select Receive Side Scaling and select ‘OK’ to close each of the open windows.
How do I turn off side scaling?
Right-click a network adapter object, and then click Properties. Click Configure, and then click the Advanced tab. In the Property list, click Receive Side Scaling, click Disable in the Value list, and then click OK.
What is service RSC now?
RSC, or Roll Stability Control, helps the vehicle avoid rolling over. The SERVICE RSC NOW will display when the systems is not functioning correctly. If the warning continues to come on or does not go away, you should contact your Ford dealer to have it resolved.
What is a IVD module?
IVD is a function of the ABS module. It uses ABS and traction control functions together to help steer the body of the vehicle to match the driver’s demand. IVD systems with only that ability are also referred to as stability assist.
What is Ford RSC?
Roll Stability Control (RSC®) offers increased rollover protection by brake and throttle control. RSC® monitors the vehicle’s body roll angle and rate, and then takes action to reduce power and start braking one or more wheels to correct the situation.
What is Max IRQ per second?
Max IRQ per Second — from 1000 to 30000 (lets the network card interrupt more frequently) Receive Buffers — from 50 to 500 (allows a smoother flow of packets through the system without dropping or restricting the TCP window size) Transmit Buffers — from 50 to 200 (allows a smoother flow of packets)
What are RSS queues?
Receive-Side Scaling (RSS), also known as multi-queue receive, distributes network receive processing across several hardware-based receive queues, allowing inbound network traffic to be processed by multiple CPUs. . It also shows how many interrupts were processed by each queue, and which CPU serviced the interrupt.
How do I change the maximum number of RSS queues?
2.4 Change number of RSS queues
To change number of RSS queues on a NIC adapter, use Set-NetAdapterRss command with -NumberOfReceiveQueues option. In above example number of RSS queues has been changed to 4.
Низкая скорость сети на хосте Hyper-V с Windows Server 2019
22.09.2022
itpro
Hyper-V, PowerShell, Windows Server 2016, Windows Server 2019
комментариев 17
Несколько раз встречался с тем, что скорость копирования файлов по сети с/на виртуальные машины на Hyper-V в Windows Server 2019 намного ниже, чем в ВМ аналогичной конфигурации на хосте с Windows Server 2016. В некоторых тестах скорость записи/чтения данных по сети на ВМ в Windows Server 2019 почти в три раза ниже, чем в WS2016 (тестировалось копирование по SMB, SSH/SCP). Эта статья не претендует на абсолютную истину, но в ней я попытался собрать различные методики улучшения производительности сети в виртуальных машинах Hyper-V на Windows Server 2019 (и последних билдах Windows 10).
Receive Segment Coalescing в Hyper-V 2019
В первую очередь нужно вспомнить про технологии Receive Segment Coalescing (RSC), которая появилась в Hyper-V на Windows Server 2019/2022 (и в Windows 10 начиная с билда 1809). Receive Segment Coalescing используется на уровне виртуального коммутатора (vSwitch), позволяет снизить нагрузку на CPU и увеличить пропускную способность сети за счет объединения нескольких TCP сегментов в меньшее количество более крупных сегментов. Увеличение производительности сети достигается за счет того, что несколько больших сегментов обрабатывают быстрее множества мелких.
Наличие включенной поддержки RSC часто бывает источником дополнительной сетевой задержки в некоторых комбинациях железа.
По умолчанию в Windows Server 2019 RSC включен для всех внешних (External) vSwitches.
Проверить, включен ли RSC для виртуальных коммутаторов можно командой:
Get-VMSwitch | Select-Object *RSC*
Можно запретить использовать RSC для IPv4 трафика на уровне клиентского сетевого адаптера:
Disable-NetAdapterRsc -Name «Ethernet» -IPv4
Проверьте, увеличится ли скорость копирования в ВМ на Hyper-V при отключении RSC. Если скорость сети увеличилась, можно отключить RSC на виртуальном коммутаторе, к которому подключена ВМ.
Чтобы отключить программный RSC для определенного виртуального коммутатора, выполните команду:
Set-VMSwitch -Name vSwitchName -EnableSoftwareRsc $false

Либо можно полностью отключить RSC на хосте:
netsh int tcp set global rsc=disabled
Режим VMQ в драйвере сетевого адаптера
В некоторых случаях наличие включенной опции VMQ (Virtual Machine Queue) в драйвере сетевого адаптера физического хоста Hyper-V может привести к плохой производительности сети в виртуальных машинах Hyper-V. Связано это с тем, что VMQ это аппаратная функция, и, если она не поддерживается железом, но включена в драйвере это вызывает потерю пакетов и увеличивает сетевую задержку. Эта проблема характерна для сетевых карточек Broadcom Gigabit и встречается во всех версиях Hyper-V на Windows 2012 R2/2016/2019.
Вы можете отключить VMQ в свойствах драйвера сетевого адаптера.

Либо вы можете вывести список сетевых адаптеров с поддержкой VMQ и их статус с помощью PowerShell:
Чтобы отключить VMQ для определенного адаптера, выполните команду (сетевой адаптер будет недоступен в течении пары секунд):
Set-NetAdapterVmq -Name “NICName” -Enabled $False

После отключения VMQ лучше перезагрузить хост и проверить сетевую производительность.
Оптимизация параметров протокола TCP для Windows Server 2019 Hyper-V
Сохраните текущие настройки TCP на хосте Hyper-V и примените новые настройки, которые сделают настройки протокола TCP в Windows Server 2019 максимально похожими на Windows Server 2016.
Сохраните текущие настройки:
Get-NetTCPSetting -SettingName Datacenter,DatacenterCustom,InternetCustom,Internet|select SettingName,CongestionProvider,CwndRestart,ForceWS|Export-csv c:\ps\nettcp_backup.csv

Примените новые настройка для LAN сети:
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CongestionProvider DCTCP
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CwndRestart True
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -ForceWS Disabled
Set-NetTCPSetting -SettingName InternetCustom,Internet -CongestionProvider CTCP
Set-NetTCPSetting -SettingName InternetCustom,Internet -DelayedAckTimeoutMs 50
Set-NetTCPSetting -SettingName InternetCustom,Internet -ForceWS Disabled
Отключите методики оптимизации сетевого RSS и RSC на уровне стека TCP:
netsh int tcp show global
netsh int tcp set global RSS=Disabled
netsh int tcp set global RSC=Disabled
или на уровне сетевых адаптеров:
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName «Recv Segment Coalescing (IPv4)» -DisplayValue «Disabled» -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName «Recv Segment Coalescing (IPv6)» -DisplayValue «Disabled» -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName «Receive Side Scaling» -DisplayValue «Disabled» –NoRestart
Отключите vRSS для всех ВМ:
Get-VM | Set-VMNetworkAdapter -VrssEnabled $FALSE
Отключите функцию Large Send Offload (LSO) на сетевых картах:
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName «Large Send Offload Version 2 (IPv4)» -DisplayValue «Disabled» -NoRestart
Get-NetAdapter | Set-NetAdapterAdvancedProperty -DisplayName «Large Send Offload Version 2 (IPv6)» -DisplayValue «Disabled» -NoRestart
Get-NetAdapter | Restart-NetAdapter
- Recv Segment Coalescing (IPv4/IPv6) = Disabled
- Large Send Offload V2 (IPv4/IPv6) = Disabled

Данные настройки стека TCP максимально приблизят настройки сетевых протоколов Windows Server 2019 к предыдущим версиям Windows Server.
Предыдущая статья Следующая статья
Server 2019 Hyper-V slow network file transfer due to receive segment coalescing (RSC)

Receive Segment Coalescing (RSC) is an offload technology in Windows Server and Windows 10 that can help reduce how much of the CPU is used in network processing.
RSC works by using the network interface card (NIC), which looks at the data from incoming packets and strips them before combining — or coalescing — these segments into a singular packet. The NIC will then send this coalesced packet to an application, resulting in the CPU needing to intervene much less on the receive-side. This, in turn, allows the CPU to take care of other important tasks, including increased productivity and scalability support. RSC only supports the receive-side of network traffic, so it does not affect outgoing network traffic.
To use RSC, administrators must have a network adapter card that is RSC-capable. If the organization has a virtualized environment, the NIC must also be able to support single-root I/O virtualization.
What versions of Windows is this affecting?
This issue affects Windows 10 and Windows Server 2019 (Hyper-V, GUI, Core and Nano).
RSC is not part of Windows 7 and so is not affected by this issue either as a stand-alone client or when accessing a Server 2019 via SMB.
What performance difference are we talking about?
Prior to disabling RSC on the VM
With RSC disabled on the VM
With RSC disabled on the V-Switch 
Data write (upload) increased by roughly 6% and data read (download) by a huge 25.8%
Can I implement this fix live?
Yes, this can be done live with no adverse effects on either the Host, VM or Client machines. See the video below demonstrating running the Disable-NetAdapterRsc * on a Server 2019 server with minimal loss of pings and file transfers auto restarting.
How do I implement this fix?
To implement this fix you can run the command below in a PowerShell Admin console. This will disable RSC on all network adaptors.
Disable-NetAdapterRsc *
To disable RSC on a specific Network Card first you will need to know the name of the card which can be found by running the command below in a PowerShell Admin console.
Get-NetAdapter
Take note of the adaptor name you wish to disable RSC on and run the command below in a PowerShell Admin console substituting NAME for the name of the adaptor to disable RSC on.
Disable-NetAdapterRsc -Name “NAME”
What about Hyper-V?
Microsoft state that’s as default RSC is set to Enabled. You can check this using the command
Get-VMSwitch -Name NAME | Select-Object *RSC*
To disable RSC on all Hyper-V switches run the below in a PowerShell Admin console.
Get-VMSwitch | Set-VMSwitch -EnableSoftwareRsc:$FALSE
Or to disable RSC on a given Hyper-V switch first find the name of the switch by running the command below in a PowerShell Admin console
Get-VmSwitch
Take note of the switch name you wish to disable RSC on and run the command below in a PowerShell Admin console substituting NAME for the name of the switch to disable RSC on.
Set-VMSwitch -Name “NAME” -EnableSoftwareRsc:$FALSE
What if I need to re-enable RSC?
Re-enabling RSC is as simple as it was to disable and again can be done with no downtime required.
If you want to re-enable RSC on your Hyper-V switch you can use the below command
Recv segment coalescing ipv4 что это

Introduction
In this post we will cover an updated version for addressing VMXNET3 performance issues on Windows Server 2012 R2. As with an earlier post we addressed Windows Server 2008 R2 but, with 2012 R2 more features were added and old settings are not all applicable.
What To Change
According to VMWare you may experience issues similar to:
- Poor performance
- Packet loss
- Network latency
- Slow data transfer
The issue may be caused by Windows TCP Stack offloading the usage of the network interface to the CPU.
To resolve this issue, disable the several features that are not supported by VMXNET3 driver.
First lets disable TCP chimney, AutoTuning, Congestion Provider, Task Offloading and ECN Capability.
Open the command prompt as administrator and run these commands:
To validate type:
Next we will need to turn on RSS feature on the VMXNET3 driver. To do this open the network connections and adapter settings.
Open Control Panel > Network and Internet > Network Connections. Right click on your adapter and select properties.
Click on the Advanced tab and scroll down to find the Receive Side Scaling setting, you will see by default it is set to disabled. Set the drop down to enabled and click ok to save the settings.
Form the command line.
There are some additional settings that will also cause performance issues. Here is what they are and how to make the needed changes.
Receive Segment Coalescing (RSC)
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. This problem in turn reduces the transaction rate, raw throughput, and efficiency.
This is similar to TCP Offloading issue and it is recommended to set this to disabled.
To disable RSC on the virtual machine, perform one of these options:
Use the PowerShell command Disable-NetAdapterRsc.
To disable for all interfaces:
To disable for a specific interface:
Disable RSC globally using the command line
In the Network and Sharing Center of the guest operating system’s Control Panel, click the name of the network adapter.
A dialog box displays the status of the adapter.
Click Properties, and under the VMXNET3 network adapter type, click Configure.
On the Advanced tab, set both Recv Segment Coalescing (IPv4) and Recv Segment Coalescing (IPv6) to Enabled or Disabled.
To verify that RSC is disabled on the virtual machine:
Use the PoweShell command Get-NetAdapterRsc. The IPv4OperationalState and IPv6OperationalState should both be set to FALSE.
Use the netsh int tcp show global command. The Receive Segment Coalescing State should be set to disabled.

Large Send Offload V2 (IPV4) & Large Send Offload V2 (IPV6)
Is a feature on modern Ethernet adapters that allows the TCP\IP network stack to build a large TCP message of up to 64KB in length before sending to the Ethernet adapter. Then the hardware on the Ethernet adapter — what I’ll call the LSO engine — segments it into smaller data packets (known as “frames” in Ethernet terminology) that can be sent over the wire. This is up to 1500 bytes for standard Ethernet frames and up to 9000 bytes for jumbo Ethernet frames. In return, this frees up the server CPU from having to handle segmenting large TCP messages into smaller packets that will fit inside the supported frame size.
Disable with PowerShell
In the Network and Sharing Center on the Windows control panel, click the name of the network adapter.
A dialog box displays the status of the adapter.
Click Properties, and beneath the network adapter type, click Configure.
On the Advanced tab, set the Large Send Offload V2 (IPv4) and Large Send Offload V2 (IPv6) properties to Enabled or Disabled.
Restart the virtual machine.

TCP Segmentation Offload
TSO is used to offload packet processing from the CPU to the NIC. Disabled is the preferred setting.
In the Network and Sharing Center on the Windows control panel, click the name of the network adapter.
A dialog box displays the status of the adapter.
Click Properties, and beneath the network adapter type, click Configure.
Click on the Advanced tab under the NIC properties and set the following attributes’ values to Disabled:
- IPv4 Checksum Offload
- IPv4 TSO Offload
- Large Send Offload V2 (IPV4)
- Large Send Offload V2 (IPV6)
- Offload IP Options
- Offload tagged traffic
- Offload TCP Options
- Recv Segment Coalescing(IPV4)
- Recv Segment Coalescing(IPV6)
- TCP Checksum Offload (IPv4)
- TCP Checksum Offload (IPv6)
- UDP Checksum Offload(IPv4)
- UDP Checksum Offload(IPv6)
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” IPv4 Checksum Offload ” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” IPv4 TSO Offload ” -DisplayValue “Disabled” –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName “Large Send Offload V2 (IPv4)” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName “Large Send Offload V2 (IPv6)” -DisplayValue “Disabled” –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” Offload IP Options ” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” Offload tagged traffic ” -DisplayValue “Disabled” –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” Offload TCP Options ” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” Recv Segment Coalescing(IPV4)” -DisplayValue “Disabled” –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” Recv Segment Coalescing(IPV6)” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” TCP Checksum Offload (IPv4)” -DisplayValue “Disabled” –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” TCP Checksum Offload (IPv6)” -DisplayValue “Disabled” -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” UDP Checksum Offload(IPv4)” -DisplayValue “Disabled” –NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName ” UDP Checksum Offload(IPv6)” -DisplayValue “Disabled” -NoRestart
See results using Get-NetAdapterAdvancedProperty Ethernet

Reboot your system for the changes to go into effect.
Power plan
To ensure that the system takes advantage of the available resources, it is important to disable all power saving features while investigating performance issues. If the power saving configuration appears to be related to the performance problems, a customized power plan based on the performance and power saving requirements should be created. If you are unsure about which power saving configuration is recommended for your system, engage your hardware vendor.
To adjust the power plan settings on a Windows 2012 R2 Server:
Click Start, type powercfg.cpl, and press Enter.
Ensure that the High performance option is selected.
Note: The Steps are optional.
Click Change plan settings.
Click Change advanced power settings.
To enable access to all settings, click Change settings that are currently unavailable.
Browse the available settings and adjust as necessary.
Click OK to confirm and close all windows.
Conclusion
There are several more options available to address performance issues with Windows Server 2012 R2 using VMXNET3 drivers from Windows Server 2008 R2 that we have covered in this post. Changing these settings should help address many of these issues.