12

I've got windows 7 pro running on my file server and my main desktop. Each has a gigabit network connection and I'm connected to a gigabit switch. However, when trying to copy some large files, it's running pretty slow at a measly 12-15 MB/s
The data is coming from a 7200RPM SATA drive (which I think should be good for almost 150MB/s) and going to a Drobo on the server connected via FireWire 800, so I can't think of any bottlenecks I might have in the hardware. But TeraCopy still says it's only going at 12-15 MB/s

What else could be wrong here?

1
  • Need more information: Are you connecting via Wifi? If you're connecting via cables, are they Cat 5? Cat 5e? Cat 6? Cat 7?
    – Jonathan
    Sep 2, 2015 at 18:09

12 Answers 12

3

I hate to say this is Windows voodoo. I've seen improvements from disabling firewalls/anti-virus to using RAM disks, changing gigabit nics from PCI to PCIe, using faster switches, jumbo frames, flow control and shorter & better cables.

Funny when I download files from a samba box I seem to get better performance, but still not better than 15% utilization.

I did a quick search and found this site. I hadn't tried these settings yet.

To more directly address speed, in Vista and Windows 7, Microsoft made changes to the CopyFile API to increase performance. I don't know if TeraCopy uses it, but I know RoboCopy does. Perhaps running the test with RoboCopy could bring better performance.

Also, my best transfers were using PCIe cards going from a RAM disk to a RAM disk with my AV off, but still I didn't get more than about 20-25%.

Perhaps some of these tips will work for you.

3

After needing to replace my dodgy old laptop I had to copy several thousand files across a network cable to my new PC - I put up with the days it took to copy as I needed to get back to work so didn't have too much time to try and play.

Yesterday I had to check 3.4 gig of files (tens of 1000's of small ones) back into a subversion repository - Painful? Hell yeah!

So this morning I decided to get this sorted - After much looking round the web I found an article which mentioned the one tiny little thing which solved everything!! The link is at the bottom of this comment - Read it AFTER you've seen my results.

Info: 192.168.0.79 is my top of the range gaming PC and 192.168.0.151 is our office file server

Step 1 - Run iPerf (Can be found here http://linhost.info/2010/02/iperf-on-windows/ ) - I ran this in dual mode so you could see our server was pretty quick to start with

C:\Users\Martin\Downloads>iperf -c 192.168.0.151 -w 64k -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.0.151, TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[188] local 192.168.0.79 port 61072 connected with 192.168.0.151 port 5001
[212] local 192.168.0.79 port 5001 connected with 192.168.0.151 port 63505
[ ID] Interval       Transfer     Bandwidth
[212]  0.0-10.0 sec   112 MBytes  93.7 Mbits/sec
[188]  0.0-14.1 sec   240 KBytes   140 Kbits/sec

Next, AND I WAS GOBSMAKED after everything I've been trying for so long - Enable a 9k Jumb Frame on the Network Cards configuration and run the test again.

The Duplex setting was set to 100Mb full duplex after something else I'd tried so the transfer speed below was 9Mbits less than the setting of the network card - NOT BAD!

C:\Users\Martin\Downloads>iperf -c 192.168.0.151 -w 64k -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.0.151, TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[196] local 192.168.0.79 port 61112 connected with 192.168.0.151 port 5001
[212] local 192.168.0.79 port 5001 connected with 192.168.0.151 port 63511
[ ID] Interval       Transfer     Bandwidth
[212]  0.0-10.0 sec   109 MBytes  91.6 Mbits/sec
[196]  0.0-10.0 sec   110 MBytes  91.7 Mbits/sec

C:\Users\Martin\Downloads>

One final tweek - I removed the duplex setting and set it back to "Auto" and ran the test again

C:\Users\Martin\Downloads>iperf -c 192.168.0.151 -w 64k -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.0.151, TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[192] local 192.168.0.79 port 61169 connected with 192.168.0.151 port 5001
[216] local 192.168.0.79 port 5001 connected with 192.168.0.151 port 63525
[ ID] Interval       Transfer     Bandwidth
[216]  0.0-10.0 sec   674 MBytes   564 Mbits/sec
[192]  0.0-10.0 sec   787 MBytes   659 Mbits/sec

BOOM!!! A Massive increase - Hope this works for everyone

Martin

Original post that helped... http://www.hanselman.com/blog/WiringTheHouseForAHomeNetworkPart5GigabitThroughputAndVista.aspx

2

I'm running Windows 7 using Parallels/Boot Camp on a 3.4 Ghz Quad Core i7 with 16 gigs of RAM. Network transfer speeds were between 2 - 60k per second, until I followed the advice in a Cake404 post regarding Broadcom network cards.

After turning off Ethernet@WireSpeed and disabling "Large Send Offload" options (under the configuration settings for the network card), my transfer speeds went up to multiple megabytes per second.

1
2

Dmitri's post about autonegotiate helped. After two hotfixes and numerous fruitless netsh command tweaks I was seeing very slow download speeds and fast upload speeds. Only on one machine in a 50 device network. Turned out the Intel NIC update from Windows Update had affected the driver settings. In this case, re-enabling autonegotiate helped. 35mbs speed returned.

1

This might be a bit late, but for those having similar issues, I noticed that file transfers between Windows network shares (Win2k3 -> Win2k8R2; Win2k3 -> Win7; some other configurations) are unreasonably slow when TeraCopy (v2.1) is used.

The prime example was when the setup was as follows: 2 Servers, both having gigabit NICs and connected to a gigabit switch; First server running Win2k3, the second running Win2k8R2. TeraCopy transfer speed of a ~21GB file was 50MB/s at best. Meanwhile, I had a sustained 105MB/s using the normal Windows copy (pulling on the Win2k8 box from the Win2k3). FTP yielded similar results at approximately 105MB/s sustained. Similar results were achieved with Windows 7 running on the client box.

In similar setups I would get even lower transfer rates with TeraCopy, from 8MB/s to 35MB/s. I tried to tinker with offload options and other settings of both NICs until I decided to try to use the regular Windows copy instead of TeraCopy. The speed difference was surprising.

The common thing in all of the above setups was the Win2k3 box which acts as the file server. I was changing the OS on the second server which was downloading the test file.

I have not tested transfer rates between two Win2k3 boxes using TeraCopy and the regular Windows copy yet.

1

There are many possible choke points -- However Windows 7 SP1, can and does run VERY fast over Gigabit Ethernet.

I just transferred several gigabytes worth of large files from two disks on my PC to a Synology NAS Box (DS1010+). That pair of Explorer.exe driven transfers reached 118.25Megabytes/sec ( 950 Megabits/sec ) which is 95% saturation of my switched Gigibit Ethernet network, including running through multiple Dlink Gigabit Switches.

1

One thing that is worth a try before going crazy with anything else is to switch the driver to not use Auto Negotiate for the speed but set it to 100MB/Full Duplex, test the transfer speed and then set it to 10MB/Full Duplex and test the transfer speed.

1

From: Increase your network data speed with this - config-customize - windows-7

  1. Open the registry and browse the following branch:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstaion

  2. If the following entries aren't already there, Create the DWORDs MaxCmds, MaxThreads and MaxCollectionCount under this branch.Assign them a value of 30, 30and 32 respectively.

  3. After you restart your system, you should experience an increase in the performance of your network transfers.

1

Requirement for full speed ethernet transfers (75% of 1000 every transfer +) is a Non-blocking, wire-speed transmission switch!

Switches:

  • ZyXEL's GS1100-16 16 Port Desktop GbE Switch is a 16-port 10/100/1000 switch (I'm getting 700-800Mbit or 80Mbyte transfers)
  • ZyXEL's GS1100-24 The GS1100-24 is a 24-port 10/100/1000 switch
  • ZyXEL's GS-108B 10/100/1000Mbps Port Desktop GbE Switch is a 8-port 10/100/1000 switch
  • Cisco SR2024 24-port 10/100/1000 Gigabit Switch
  • SMC Networks - SMC8508T - EZ Switch 10/100/1000 - 8-Port 10/100/1000 Gigabit Unmanaged Switch
  • Linksys SR2016 The 16-Port 10/100/1000 Gigabit

Please try the examples given but if you don't have the right switch then it won't matter what you do at the OS.

1
  1. Click on Start
  2. Type "Local Security Policy" and press Enter
  3. Navigate to Security Settings > Local Policies > Security Options
  4. Set the following settings:

    Network security: Minimum session security for NTLM SSP based (including secure RPC) clients > untick "require 128-bit encryption
    Network LAN Manager authentication level > Send LM & NTLM - use NTLMv2 session security if negotiated

1
  • 1
    Hello, @Anonymous, just in case you found this answer somewhere else, would you consider giving credit to the source? Mar 7, 2013 at 3:22
1

I have a Win 7 Pro Laptop (quad core) 1GB LAN A linksys WRT1900AC with a Red Nas 3TB hdd. My speed was 10Mb/s for wireless or wired file transfer to the NAS.

I did all of the following testing the wireless with no success, at the end I tried the ethernet and I got 63MB/s NOW!!!!!! So I don't know what setting or registry entry fixed the problem. Wireless file sharing is still slow.

SETTINGS

-Disable Remote Differential Compression -Disable TCP Auto Tuning -Disable Receive Side Scaling

On the REGISTRY:

Network Throttling Index:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile NetworkThrottlingIndex=ffffffff (DWORD, default: 10, recommended: 10 for media sharing, ffffffff for gaming and max throughput, valid range: 1 through 70 decimal or ffffffff to completely disable throttling)

Disable Bandwidth Throttling:

Create (DWORD value) HKLMsystemCurrentControlSetServiceslanmanworkstationparametersDisableBandwidthThrottling Set Value to 1

Network Memory Allocation (Event ID 2017 error):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management LargeSystemCache=1 (DWORD, default value: 0, recommended value: 1) A value of zero establishes a cache of ~8 MB, a value of 1 allows the cache to expand up to the amount of physical memory minus 4 MB, as necessary.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters Size=3 (DWORD, default value: 1, recommended value: 3) 1 - minimizes used memory 2 - balance used memory 3 - optimal setting for file sharing and network applications

-1

This worked for me:

THANK YOU TO: http://www.howtosolutions.net/2013/06/fixing-slow-sending-or-receiving-of-files-through-lan-network-using-windows/

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

I did this on both windows machines, I did not have to restart, and I did not have to disable LSO V1

1
  • Please explain the downvote
    – Jonathan
    Sep 9, 2017 at 18:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .