How to Configure Network Adapter Settings for Performance and Stability

5 min read

Tune Windows network adapter settings for better throughput and lower latency: speed/duplex, interrupt moderation, RSS, buffers, and power management settings.

The default Windows network adapter settings are conservative. Tweaking them can improve throughput on fast networks and reduce latency for real-time applications.


Find Your Adapter Name

Get-NetAdapter | Select-Object Name, InterfaceDescription, Status, LinkSpeed

Use the Name (e.g., "Ethernet" or "Wi-Fi") in subsequent commands.


Speed and Duplex (Ethernet)

Auto-negotiation usually works, but sometimes manually setting it improves stability:

Device ManagerNetwork Adapters → right-click Ethernet adapter → PropertiesAdvanced tab → Speed & Duplex

  • Set to 1.0 Gbps Full Duplex if you have a gigabit network
  • Leave as Auto Negotiation for most situations — change only if you have speed or duplex mismatch errors
# Check current setting
Get-NetAdapterAdvancedProperty -Name "Ethernet" | Where-Object {$_.DisplayName -like "*Speed*"}

Disable Power Saving on Network Adapter

Power management cuts the adapter during idle — causes dropped connections and wake delays:

Device Manager → right-click adapter → PropertiesPower Management tab → uncheck Allow the computer to turn off this device to save power

# Disable power saving via PowerShell
$adapter = Get-NetAdapter -Name "Ethernet"
Disable-NetAdapterPowerManagement -Name $adapter.Name

Receive Side Scaling (RSS)

RSS distributes incoming network traffic across multiple CPU cores — improves throughput on multi-core systems:

# Check RSS status
Get-NetAdapterRss -Name "Ethernet"

# Enable RSS
Enable-NetAdapterRss -Name "Ethernet"

# Set number of RSS queues (match to physical CPU cores)
Set-NetAdapterRss -Name "Ethernet" -NumberOfReceiveQueues 4

Interrupt Moderation

Interrupt moderation batches network interrupts to reduce CPU overhead. Disabling it reduces latency at the cost of slightly higher CPU:

# Check
Get-NetAdapterAdvancedProperty -Name "Ethernet" | Where-Object {$_.DisplayName -like "*Interrupt*"}

# Disable for lowest latency (gaming, VoIP)
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Interrupt Moderation" -DisplayValue "Disabled"

Receive and Transmit Buffers

Larger buffers handle traffic bursts without dropping packets:

# Check current buffer sizes
Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Where-Object {$_.DisplayName -like "*Buffer*"} |
  Select-Object DisplayName, DisplayValue

# Set to maximum (values depend on adapter)
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Buffers" -DisplayValue "2048"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Transmit Buffers" -DisplayValue "2048"

Jumbo Frames

If your entire network (PC, switch, router) supports Jumbo Frames, increasing MTU from 1500 to 9000 bytes improves throughput on large transfers:

# Enable Jumbo Frames (check your router and switch support first)
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Jumbo Packet" -DisplayValue "9014 Bytes"

# Test with ping (should not fragment)
ping -f -l 8972 192.168.1.1

# Revert to standard MTU
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Jumbo Packet" -DisplayValue "Disabled"

TCP Settings

# Check current TCP settings
netsh int tcp show global

# Enable Chimney offload (offloads TCP to NIC)
netsh int tcp set global chimney=enabled

# Enable ECN (reduces congestion)
netsh int tcp set global ecncapability=enabled

# Reset to defaults if something breaks
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global chimney=default

Wi-Fi Specific Settings

# Check Wi-Fi adapter settings
Get-NetAdapterAdvancedProperty -Name "Wi-Fi" | Select-Object DisplayName, DisplayValue

# Common Wi-Fi tweaks:
# Roaming Aggressiveness: Low or Medium (prevents constant AP switching)
Set-NetAdapterAdvancedProperty -Name "Wi-Fi" -DisplayName "Roaming Aggressiveness" -DisplayValue "1"  # Low

# Preferred Band: 5GHz
Set-NetAdapterAdvancedProperty -Name "Wi-Fi" -DisplayName "Preferred Band" -DisplayValue "2"  # 5GHz

# 802.11n/ac mode: prefer 5GHz 802.11ac

Benchmark Your Settings

# Measure throughput before and after changes
# Simple bandwidth test using file copy
$source = "\\RemotePC\Share\testfile.iso"  # 1GB+ file on network share
$start = Get-Date
Copy-Item $source "C:\Temp\test.iso"
$elapsed = (Get-Date) - $start
$size = (Get-Item "C:\Temp\test.iso").Length / 1MB
"Transfer: $([math]::Round($size/$elapsed.TotalSeconds, 0)) MB/s"
Remove-Item "C:\Temp\test.iso"


🌐 Розрахувати параметри підмережі?

→ IP/Subnet калькулятор — введи IP і CIDR, отримай маску, broadcast, діапазон хостів і бінарне представлення.

Summary

For most users: disable power management on the adapter (prevents connection drops), enable RSS (better multi-core performance). For gaming: disable Interrupt Moderation (lower latency). For file transfers: increase Receive/Transmit Buffers. Avoid Jumbo Frames unless your entire network supports it — mixed MTU causes connectivity problems.

Related articles

← All articles