TCP Optimizer
Description
Windows comes with TCP/IP network settings tuned for a wide variety of hardware and connection types, and it is conservative in its defaults, which are likely to work reliably on everything from slow DSL connections to gigabit fiber connections. Those conservative defaults leave performance on the table for users on faster connections — particularly latency-sensitive settings like TCP receive window size, which controls how much data flows in a single burst before an acknowledgment returns. TCP Optimizer reads the current Windows network settings, offers a graphical interface to change them, and applies presets that have been calibrated for modern broadband connections, so that the technical knowledge required to change these parameters manually is reduced.
SpeedGuide.net created TCP Optimizer and offers it for free, as a companion tool to their online internet speed testing and network tweak guides. The application doesn’t need to be installed — it’s a single executable — and the application backs up the original settings before it applies changes to them so that changes are easily reversed.
Optimal Settings Preset
The Optimal Settings preset — the top recommendation for most users — calculates values based on the detected network adapter speed and uses a set of TCP parameters optimized for modern broadband connections. The preset adjusts the TCP receive window size, enables TCP auto-tuning at a suitable level, sets TCP timestamps and sets the Nagle algorithm state. Applying the preset and rebooting the computer will apply all changes without the user having to understand the function of each individual setting.
Manual Adjusting Parameters
For those users who wish to have control over individual settings, TCP Optimizer exposes individual TCP parameters using sliders and checkboxes. The receive window size slider is used to adjust the window size from the Windows default to higher values in predefined steps corresponding to common MTU multiples. TCP auto-tuning level — TCP auto-tuning level is used to choose between Disabled, HighlyRestricted, Restricted, Normal and Experimental — Windows built-in scaling algorithm for receive window size that adapts to network conditions. Nagle’s algorithm turns the buffering of small outgoing packets on and off, reducing the latency of interactive applications such as gaming and real-time communication at the expense of slightly lower throughput efficiency.
Connection-Specific Settings
TCP Optimizer makes settings either globally across all network adapters or to a specific selected adapter. Applying settings per adapter makes it possible to tune a Wi-Fi adapter separately from a wired Ethernet adapter, or tune settings for a virtual adapter without affecting the physical connection.
Backup and Restore
Before making any changes, TCP Optimizer stores the current network settings in a registry file. A Restore Original Settings function reads that backup and returns all parameters to their pre-optimization state, requiring a restart for the change to take effect. This backup mechanism makes the tool safe to play with — if you change settings and the tool does something unexpected, one click can put it back to the state it was in before.
MTU and RWIN Calculator for Windows
TCP Optimizer has a calculator that calculates the optimal Maximum Transmission Unit (MTU) and Receive Window (RWIN) value for a connection given the user’s downstream bandwidth and round-trip time inputs. The calculator returns a recommended RWIN value in terms of MTU and the user applies it either via the calculator itself or by entering it in the manual settings panel.
Connection Diagnostic
The Ping and MTU test is used to check the actual MTU of the connection by sending different sized packets to a target server and checking where packet fragmentation starts. This validates the effective MTU on the path to the internet, which may not be the same as the local network adapter setting, because of intermediary network hardware.
QoS Packet Scheduler
TCP Optimizer exposes the Windows QoS packet scheduler reservation setting, which by default allocates a percentage of bandwidth to Quality of Service tagged traffic. Changing this setting recovers that reserved bandwidth for general use on systems where QoS traffic shaping isn’t actively used.