When you run iperf throughput tests on Windows 11, you may see results far below your network’s actual capacity. One common cause is the network adapter’s hardware offload features, such as Large Send Offload and TCP Checksum Offload. These features are designed to reduce CPU load by letting the network card handle packet processing. However, they can interfere with iperf’s benchmarking accuracy, causing artificially low throughput numbers. This article explains how to disable specific offload tasks on your network adapter to restore accurate iperf test results on Windows 11.
Key Takeaways: Disabling Network Adapter Offload Tasks for Accurate iperf Results
- Device Manager > Network adapters > Properties > Advanced tab > Large Send Offload (IPv4): Setting this to Disabled prevents the adapter from offloading TCP segmentation, which can distort iperf throughput measurements.
- Device Manager > Network adapters > Properties > Advanced tab > TCP Checksum Offload (IPv4): Disabling this stops the adapter from verifying packet checksums, removing a common source of performance variance in benchmarks.
- PowerShell command Disable-NetAdapterChecksumOffload: Provides a scriptable way to disable all checksum offloads on a specific adapter without using the GUI.
Why Network Adapter Offload Tasks Reduce iperf Throughput
Network adapter offload tasks are hardware-level optimizations that shift packet processing from the CPU to the network interface card. Common offload features include Large Send Offload, Large Receive Offload, TCP Checksum Offload, and UDP Fragmentation Offload. In normal daily use, these features improve throughput and reduce CPU usage. However, iperf is a synthetic benchmarking tool that measures raw network throughput by sending a controlled stream of packets. When offload tasks are active, the adapter may reorder, coalesce, or modify packets before sending them to the application layer. This behavior can cause iperf to misinterpret the actual network bandwidth, resulting in lower reported throughput.
The specific problem occurs because iperf expects the operating system’s TCP/IP stack to handle all segmentation and checksum operations. When the adapter performs these tasks, the timing and size of packets seen by iperf change. For example, Large Send Offload allows the adapter to split a large TCP segment into smaller packets. iperf sees fewer, larger segments rather than the expected packet stream, which skews its bandwidth calculation. Disabling these offload tasks forces the CPU to handle all packet processing, giving iperf a direct view of the network’s true throughput without hardware interference.
Steps to Disable Network Adapter Offload Tasks in Windows 11
Follow these steps to disable the most common offload tasks that affect iperf throughput. You can use either the graphical Device Manager or PowerShell commands.
Method 1: Using Device Manager
- Open Device Manager
Press the Windows key, type Device Manager, and press Enter. Alternatively, press Win + X and select Device Manager from the menu. - Locate your network adapter
Expand the Network adapters section. Identify the adapter you use for the iperf test. Common names include Intel Ethernet Connection, Realtek PCIe GbE, or Killer E2500. - Open adapter properties
Right-click the adapter and select Properties. Go to the Advanced tab. - Disable Large Send Offload (LSO)
In the Property list, find Large Send Offload (IPv4) or Large Send Offload (IPv6). Select it, then change the Value to Disabled. Click OK. If both IPv4 and IPv6 versions appear, disable both. - Disable TCP Checksum Offload
In the same Advanced tab, find TCP Checksum Offload (IPv4) or TCP Checksum Offload (IPv6). Set each to Disabled. Click OK. - Disable UDP Fragmentation Offload (optional)
If your iperf test uses UDP, also find UDP Fragmentation Offload and set it to Disabled. - Restart your computer
Changes take effect after a restart. Run your iperf test again to verify improved throughput.
Method 2: Using PowerShell
- Open PowerShell as Administrator
Press the Windows key, type PowerShell, right-click Windows PowerShell, and select Run as administrator. Click Yes if prompted by User Account Control. - View current offload settings
Run the following command to see all offload capabilities of your adapters:Get-NetAdapter -Name | Get-NetAdapterOffload
Note the name of the adapter you want to modify (e.g., Ethernet0). - Disable checksum offload
Run this command, replacing Ethernet0 with your adapter name:Disable-NetAdapterChecksumOffload -Name Ethernet0 -Ipv4 -Tcp -Udp
This disables TCP and UDP checksum offload for IPv4. - Disable LSO and LRO
Run these commands separately:Disable-NetAdapterLso -Name Ethernet0 -IPv4Disable-NetAdapterLro -Name Ethernet0
If you also use IPv6, add-IPv6to the LSO command. - Verify changes
RunGet-NetAdapterOffload -Name Ethernet0to confirm all offloads are now disabled. - Restart your computer
Reboot to apply the changes, then rerun your iperf test.
If iperf Throughput Remains Low After Disabling Offloads
iperf still shows low throughput on Windows 11
If disabling offload tasks does not improve results, check for other common issues. Ensure you are using the latest network driver from your adapter manufacturer, not the generic Windows driver. Outdated drivers can cause poor iperf performance independent of offload settings. Also verify that iperf is running in the correct mode: use -t for a longer test duration (e.g., 30 seconds) and -P for parallel streams (e.g., 4 or 8) to saturate the link.
Network adapter settings reset after reboot on Windows 11
Some adapters revert to default settings after a restart, especially if the driver is configured to apply defaults on boot. To prevent this, use a PowerShell script that disables offloads at startup. Create a scheduled task that runs the same PowerShell commands from Method 2 at system startup. Alternatively, check the adapter’s firmware settings for a persistent offload configuration option.
iperf throughput is still low when using Wi-Fi on Windows 11
Wireless adapters also have offload features that can affect iperf. The steps are the same: open the Wi-Fi adapter’s properties in Device Manager and disable Large Send Offload, TCP Checksum Offload, and UDP Fragmentation Offload. Note that Wi-Fi throughput is inherently lower than wired Ethernet due to signal interference and protocol overhead. For accurate benchmarking, use a wired connection when possible.
| Item | Offload Enabled | Offload Disabled |
|---|---|---|
| Description | Adapter handles packet segmentation and checksums | CPU handles all packet processing |
| CPU usage during iperf | Lower (10-20% on modern CPUs) | Higher (30-50% on modern CPUs) |
| iperf throughput accuracy | May be artificially low due to packet coalescing | Accurate measurement of raw network bandwidth |
| Normal daily use | Beneficial for web browsing and file transfers | Unnecessary and may reduce performance |
After disabling offload tasks, your iperf results on Windows 11 should reflect the true network throughput. Remember to re-enable these offloads after benchmarking to restore normal performance for everyday tasks. You can use the PowerShell commands Enable-NetAdapterChecksumOffload and Enable-NetAdapterLso to reverse the changes. For persistent benchmarking configurations, consider creating a dedicated PowerShell profile that toggles offload settings before and after tests.