Fix Network Adapter Offload Tasks Slowing iperf Throughput on Windows 11
🔍 WiseChecker

Fix Network Adapter Offload Tasks Slowing iperf Throughput on Windows 11

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.

ADVERTISEMENT

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

  1. Open Device Manager
    Press the Windows key, type Device Manager, and press Enter. Alternatively, press Win + X and select Device Manager from the menu.
  2. 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.
  3. Open adapter properties
    Right-click the adapter and select Properties. Go to the Advanced tab.
  4. 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.
  5. 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.
  6. Disable UDP Fragmentation Offload (optional)
    If your iperf test uses UDP, also find UDP Fragmentation Offload and set it to Disabled.
  7. Restart your computer
    Changes take effect after a restart. Run your iperf test again to verify improved throughput.

Method 2: Using PowerShell

  1. 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.
  2. 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).
  3. 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.
  4. Disable LSO and LRO
    Run these commands separately:
    Disable-NetAdapterLso -Name Ethernet0 -IPv4
    Disable-NetAdapterLro -Name Ethernet0
    If you also use IPv6, add -IPv6 to the LSO command.
  5. Verify changes
    Run Get-NetAdapterOffload -Name Ethernet0 to confirm all offloads are now disabled.
  6. Restart your computer
    Reboot to apply the changes, then rerun your iperf test.

ADVERTISEMENT

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.

ADVERTISEMENT