Windows 7 Tweaks

windows7_logo

I’ve been running windows7 for a while now and thought it was about time I posted some tweaks.

Network Tweaks


Disable Flow Controlflow_control
This is a pretty basic tweak, really has been used for ages.
Flow control allows a overloaded device to send a pause frame, this causes the device at the other end to stop sending packets temporarily.
The effect causes massive delays on large networks.

To disable flow control go into device manager and find your NIC, go onto properties and then you should see flow control on the Advanced tab, altho depending on the NIC and driver it could be in additional options.

Enable congestion provider Compound TCP (CTCP)
This is a new congestion provider developed by Microsoft as an attempt to resolve conflicts in providing the correct RWIN size.
*CTCP is enabled by default on Windows Server 2008
Enabling CTCP can improve network latency as the network Receive Window is important and has been a cause for concern for many years as bandwidth of internet connections has improved.
Enabling this is pretty easy on Windows7.

To enable CTCP you need to run a command prompt with admin privileges.
Start > All Programs > Accessories > Rt Click Command Prompt > Run As Administrator
In the command window type (or paste)
netsh interface tcp set global congestionprovider=ctcp

Set TCP Acknowledgment to 1
This is a new tweak and is documented on Microsoft Support

Subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
Entry: TcpAckFrequency
Value Type: REG_DWORD, number
Valid Range: 0-255
Default: 2
Description: Specifies the number of ACKs that will be outstanding before the delayed ACK timer is ignored. Microsoft does not recommend changing the default value without careful study of the environment.

Setting this to 1 can improve network performance as every packet is acknowledged immediately because there is only one outstanding TCP ACK as a segment is just received.

Disable Nagle Algorithm
This is similar to the flow control tweak as it disables network packet delays.
Nagle algorithm tries to balance the data load of a packet by delaying the dispatching of packets.
When this is disabled TCP buffering is skipped so that every request is sent immediately.
*you may want to look at the environment of your network before applying this tweak

To change TCP Acknowledgment & Disable Nagle Algorithm:
Run regedit
Go to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces"
Find the correct interface ID and select it
Create 2 32-bit DWORD keys
TcpAckFrequency
TCPNoDelay

Set the value of both to 1
*note you will need to find the correct inferface ID before changing these values

Update: November 7th, 2009

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">