Recently I had to solve a problem of a very slow transfer of files between two computers on a LAN network using Ethernet cable. Both machines had Windows 7 x64 installed and the transfer speed was ridiculously slow at 10-15kb/s. Using Task Manager under Networking tab, Network Utilization was showing only around 0.25% for Local Area Connection.
I looked around the web for solutions and found quite a few suggestions how to tackle this problem. Those that I tried and the one that finally solved my problem are discussed here.
Turning off "Remote Differential Compression"
One of the first suggestions that I came across was to turn off this Windows Feature in Windows 7.
This suggestion is common on the web but it turns out to be just a myth.
This is 100% false. Neither Windows Update or file copy operations use RDC at all.
So I ignored this suggestion and continued looking.
Disabling "TCP Auto-Tuning"
This is another common suggestion that I came across and it uses NETSH command-line utility used for displaying and modifying the network configuration. To make the necessary changes, we need to run that utility as an Administrator.
- Open Command Prompt as Administrator:
- Click on Start Menu
- Type Command in search box
- Command Prompt will show up in results. Right-click on it to open Context Menu
- Select Run as administrator
- If User Account Control Window shows up asking if you want to allow the following program to make changes, select Yes
netsh interface tcp set global autotuning=disabled
- Restart the computer
- To verify that the auto-tuning is still disabled type in Command Prompt:
netsh interface tcp show global
This suggestion still didn't solve my problem, so I looked further, but before doing that I wanted to set Auto-tuning back to the default value by typing
netsh interface tcp set global autotuning=normal in the Command Prompt (running as an Administrator).
Disabling "Large Send Offload (LSO)"
Large Send Offload is a technique of improving network performance while at the same time reducing CPU overhead. Apparently it does not work very well, so it was suggested to disable it. If you would like to know about LSO, check this MSDN article from 2001.
LSO is an option located in a Device Manager under your network adapter, so this solution requires Administrator Privileges.
Follow these steps:
- Open Start Menu, right-click on Computer and select Properties
- Under Control Panel Home located on the left side of the window click on Device Manager
- You will get a list of all devices on your machine. Expand Network Adapters.
- Find your Network Card and double-click on it.
- Select Advanced tab. You will get a list filled with different options.
- Select Large Send Offload V2 (IPv4) and set the value to Disabled
- Do the same for Large Send Offload V2 (IPv6) if it is available
- Click OK
After clicking OK, I tried to send a file over the LAN network. The transfer speed started very slow, but it was gradually picking up speed. I decided to restart the computer and try to send that file again and this time it worked like a charm.
Now that sending of files worked as it should, I also checked speed for receiving files. It turned out that it was still slow but all I had to do to fix that was to disable Large Send Offload V2 on the other computer. Once done, the problem was solved for receiving files as well.
In this post we examined different ways to solve slow speed on a LAN network. One of them is just a common myth, but for other two you need to have administrator privileges. I hope you found this article useful. Consider sharing it on a social networks. Comments are also welcome.
If you solved your slow LAN speed problem in a different way, let me know how and I might add that solution to the list.