My Network Tuning Script
Posted: Sun Mar 09, 2014 1:22 pm
This is not for dial-up. This is for windows settings, so your NIC settings need to be changed/tweaked through the device manager manually.
Tested on 9 Systems: 7 desktops and 2 laptops, used a/b/g/n wifi onboard and USB NICs, onboard/dedicated 10/100/1000 Cards, on Win Xp, Vista, 8, and 8.1; I haven't tried this on Win7. Each system ran 14 tests with resets in between. Overall the VAST majority of increase will come from the tuning of your MTU and Receive Window. All the other tweaks/options included may or may not increase your performance... and by increase, i'm talking about shaving off up to 40 seconds from a 512 MB file.
Tuning the Window shaves off minutes
Basically I just run this with everything set to No except the ForceBandwidth.
Overall:
nVidia NICs are AWESOME.
Setting your TCP Ack Freq to 1 typically gives a performance hit. However wifi will generally see an improvement.
If you have a laptop with onboard NICs, leave offloads enabled. Desktops are hit or miss.
Wireless-N is slower than wired 100 mbps
ForceBandwidth: If you know your max speed, set this to yes and follow the directions.
Otherwise I grab the max link speed of your adapter and divide by 2. If you have two adapters enabled at different speeds, sets the bandwidth to the lowest link speed div 2.
ForceReset: Deletes created keys, uses Netsh, REG, and PowerShell to reset TCP options, reboots
A sub option of ForceReset is
FixCorruption: Sfc, Dism, and schedules a disk check on reboot.
On a side note, if your sfc can't fix your corruption, once a month, you can check - http://support.microsoft.com/kb/947821
Housecleaning: Ccleaner, defrag, and cleanmgr
Uses the settings stored in cleanmgr.exe /sageset:101
MapNetworkDrives: If your shares fail to show up in explorer or in your network. This has been buggy since Vista. I set Windows to wait for connection on boot. This delay shows up most in Vista, other OS's I didn't see a difference in Boot time ( restart/shutdown - not recover from hibernate ).
ServerIp is the IP address of the serverName.
You might be able to gain 1 to 3 MB/s by trying these options. In some cases though, depending on the option, you might lose 1-2 MB/s. Testing is required on your part.
PMtuDisc - sets it to yes, and black holes to no, generally good
TcpAckFreq - sets it to 1, typically a bad idea except on wifi
TcpIpNoDelay - No delay, good for wifi
NoChimneyOffloads - turn offloads off. Sometimes though your cpu is faster than your NIC.
DoOtherNetwork - sets tcb, irpStackSize, Default windows
By default this:
Removes MMCSS dependency from AudioSrv.
Disables autotuning
Sets congestion provider to DCTCP, if not then attempts CTCP.
Determines RSS and Tcb Table Partition setting based on number of cores
Enabled TCP 1323
Sets Dns, host, local, and netbt priortiy
Sets ConnectionCounts to 10
Sets MTU, TCP Window
Thoughts:
There is a lot of redundancy in the script. It comes from working with various OS's. Some settings are deprecated on newer OS's so they won't affect your performance. Windows 8 and 8.1 really seem to be locked down.
Box1: Win 8.1x64 Pro, Dual Xeon 4 core, 16 GBs RAM, 3 15k rpm SAS in RAID 0, nVidia 660 GTX, Dedicated Intel PCI-e Gigabit NIC, 7 ft Cat 6
Box2: Win xp, AMD 3800+, 2 GB RAM, 7.2k rpm ATA 133, Onboard Intel Grfx, onboard nVida PCI-E NIC, 50 ft Cat 6
Box2 beats Box1 by a minimum of 20 seconds, worst case was 60 seconds.
Tests were with Xcopy, LanSpeedTest, and drag and drop of files and/or folders.
Did i miss any tweaks?
Put the following 7 posts into a single cmd file. Save it, run it. Sorry it's across so many posts, but there exists a character limit.
~Scott
Tested on 9 Systems: 7 desktops and 2 laptops, used a/b/g/n wifi onboard and USB NICs, onboard/dedicated 10/100/1000 Cards, on Win Xp, Vista, 8, and 8.1; I haven't tried this on Win7. Each system ran 14 tests with resets in between. Overall the VAST majority of increase will come from the tuning of your MTU and Receive Window. All the other tweaks/options included may or may not increase your performance... and by increase, i'm talking about shaving off up to 40 seconds from a 512 MB file.
Tuning the Window shaves off minutes
Basically I just run this with everything set to No except the ForceBandwidth.
Overall:
nVidia NICs are AWESOME.
Setting your TCP Ack Freq to 1 typically gives a performance hit. However wifi will generally see an improvement.
If you have a laptop with onboard NICs, leave offloads enabled. Desktops are hit or miss.
Wireless-N is slower than wired 100 mbps
ForceBandwidth: If you know your max speed, set this to yes and follow the directions.
Otherwise I grab the max link speed of your adapter and divide by 2. If you have two adapters enabled at different speeds, sets the bandwidth to the lowest link speed div 2.
ForceReset: Deletes created keys, uses Netsh, REG, and PowerShell to reset TCP options, reboots
A sub option of ForceReset is
FixCorruption: Sfc, Dism, and schedules a disk check on reboot.
On a side note, if your sfc can't fix your corruption, once a month, you can check - http://support.microsoft.com/kb/947821
Housecleaning: Ccleaner, defrag, and cleanmgr
Uses the settings stored in cleanmgr.exe /sageset:101
MapNetworkDrives: If your shares fail to show up in explorer or in your network. This has been buggy since Vista. I set Windows to wait for connection on boot. This delay shows up most in Vista, other OS's I didn't see a difference in Boot time ( restart/shutdown - not recover from hibernate ).
ServerIp is the IP address of the serverName.
You might be able to gain 1 to 3 MB/s by trying these options. In some cases though, depending on the option, you might lose 1-2 MB/s. Testing is required on your part.
PMtuDisc - sets it to yes, and black holes to no, generally good
TcpAckFreq - sets it to 1, typically a bad idea except on wifi
TcpIpNoDelay - No delay, good for wifi
NoChimneyOffloads - turn offloads off. Sometimes though your cpu is faster than your NIC.
DoOtherNetwork - sets tcb, irpStackSize, Default windows
By default this:
Removes MMCSS dependency from AudioSrv.
Disables autotuning
Sets congestion provider to DCTCP, if not then attempts CTCP.
Determines RSS and Tcb Table Partition setting based on number of cores
Enabled TCP 1323
Sets Dns, host, local, and netbt priortiy
Sets ConnectionCounts to 10
Sets MTU, TCP Window
Thoughts:
There is a lot of redundancy in the script. It comes from working with various OS's. Some settings are deprecated on newer OS's so they won't affect your performance. Windows 8 and 8.1 really seem to be locked down.
Box1: Win 8.1x64 Pro, Dual Xeon 4 core, 16 GBs RAM, 3 15k rpm SAS in RAID 0, nVidia 660 GTX, Dedicated Intel PCI-e Gigabit NIC, 7 ft Cat 6
Box2: Win xp, AMD 3800+, 2 GB RAM, 7.2k rpm ATA 133, Onboard Intel Grfx, onboard nVida PCI-E NIC, 50 ft Cat 6
Box2 beats Box1 by a minimum of 20 seconds, worst case was 60 seconds.
Tests were with Xcopy, LanSpeedTest, and drag and drop of files and/or folders.
Did i miss any tweaks?
Put the following 7 posts into a single cmd file. Save it, run it. Sorry it's across so many posts, but there exists a character limit.
~Scott