Troubleshooting Slow Read/ Transfer Speeds for a Windows Home Server


After recommending WHS to a friend I got a note saying it was running really slow for pulling data off the server, even though writing data was fine. As this friend is not so technically apt, I decided to setup quick test machines, one running Vista 64 the other WHS. Both were using a Dell Perc 5/i raid card and two 500GB 7200rpm Western digital drives in raid 0 (I would never do this in practice, but these were solely built for test purposes.)

The switch I was using is a Dell PowerConnect 2708 which is an 8 port switch with management that can support link aggregation, as well as other cool features. No, it is not a super fast switch, but can handle two clients without issue. Cabling was CAT6. Both clients were using onboard Realtek gigabit controllers connected to the switch, however the links were not using aggregation.

I was very surprised to see the results at default settingsā€¦

WHS to Vista x64 transfer base installation
WHS to Vista x64 transfer base installation

First off, hard disks typically read faster than they write, so seeing almost five times the write performance was a big red flag. So I started to troubleshoot:

  1. Could it be the drives? Since there is no aggregation, the max theoretical bandwidth the GigE ports would give me is 125MB/s. The storage subsystems of both PC’s can easily read/write in the 150-200MB/s range. That can’t be the issue.
  2. Doing the quick math 100Mbit/s = 12.5MBytes/s theoretical. Subtract 30% and that’s where we are at. 30% is usually very high for Ethernet overhead which generally people use 10% to 20% depending on how conservative they are. That being said, the connection is to a shared windows folder mapped as a network drive, not as an iSCSI target, so 30% overhead may be realistic. It sure looks like a 100Mbps line vs a 1.0Gbps line.

Testing the hypothesis from #2, I manually went into the device properties for all four NICs and set transmit speed from “auto negotiate” to “1.0Gbps full duplex” and observed a nice bump in performance:

WHS to Vista x64 transfer no auto negotiate
WHS to Vista x64 transfer no auto negotiate

While ATTO was running I was watching the lights on the NICs and realized that one had an LED activity light was blinking fast, and the other sporadically for each pair. With that thought in mind, I physically disabled one link on the client and the WHS (i.e. pulled the CAT6 out). The results below are fairly impressive:

WHS to Vista x64 transfer no auto negotiate, 1 lan cable
WHS to Vista x64 transfer no auto negotiate, 1 lan cable

The graph above isn’t necessarily blazing fast transfer speeds, however, for a WHS shared folder to Vista client using one GigE port, this is a significant improvement. In the future I may update this with the link aggregation results.

For anyone that is having issues with WHS read speeds and Realtek controllers, I would therefore suggest manually setting 1.0Gbps, turning off auto negotiate, and only plugging in one set of wires if you have dual NICs but are not bonding them.


  1. Great tip. Very useful.
    (Same prb with W7P64 Asus M4A88TD-M/USB3 Board with Realtek NIC Desktop and Zotac Fusion350-A-E Mini ITX Realtek NIC server WHS 2011. Works wonders. Wish I’d find that would have improve 802.11n speeds too, so I would have placed my server elsewhere in the house…)


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.