Windows Networking Performance

Introduction

Optimizing network performance on Windows requires understanding the stack, configuring the right parameters, and leveraging built‑in tools. This guide provides best practices, tunable settings, and sample code to help you maximize throughput and minimize latency.

Tuning Guidelines

  • Enable TCP Chimney Offload for high‑throughput servers.
  • Adjust Auto-Tuning Level via netsh interface tcp set global autotuninglevel=highlyrestricted.
  • Use Receive Window Auto-Tuning to allow dynamic scaling.
  • Increase MaxUserPort for large numbers of outbound connections.
  • Configure TcpTimedWaitDelay to reduce TIME_WAIT hold time.

Key Metrics

Time to First Byte (TTFB)
Round‑Trip Time (RTT)
Packet Loss Rate
Throughput (Mbps)
Latency (ms)
        

Performance Tools

Code Samples

// Sample: Adjust TCP Auto‑Tuning Level (PowerShell)
netsh interface tcp set global autotuninglevel=experimental

// Sample: Retrieve current TCP settings (C#)
using System;
using System.Net.NetworkInformation;

class TcpInfo {
    static void Main() {
        var properties = IPGlobalProperties.GetIPGlobalProperties();
        Console.WriteLine($"Hostname: {properties.HostName}");
        Console.WriteLine($"Domain: {properties.DomainName}");
    }
}
        

FAQ

Run netsh interface tcp show global and check Receive Side Scaling and TCP Chimney Offload values.

Adjusting TcpAckFrequency can reduce acknowledgment delay, improving latency for interactive workloads.