Windows 7 has many good things going for it, but home networking is not always one of them.
But with just two quick clicks within Win7′s Advanced sharing settings, you can improve your local network throughput by as much as 12%.
Windows 7 is the best Windows I’ve ever used, and I’ve used them all since version 1.0. But, like all software, it’s not perfect.
One of the oddest glitches I’ve encountered with Microsoft’s newest OS is erratic local-networking performance. Occasionally and for no obvious reason, a Win7 LAN connection will slow to a crawl — giving you that less-than-nostalgic feeling that you’ve gone back to a dial-up connection.
The problem seems completely random; I’ve never been able to reliably reproduce it. But I’ve seen the problem enough to know it’s not some figment of my imagination. And even when everything’s operating normally, I’ve had a sneaking suspicion that my Win7 networking is running slower than it should.
Trust me; I’m not alone in this belief. Do a quick search on the phrase win7 slow network and you’ll see what I mean.
Two likely culprits in the slow-LAN mystery
I’ve always suspected that the prime suspect in Win7′s sometimes-sluggish network speed is the OS’s HomeGroup feature, which is enabled by default. A homegroup is a kind of self-configuring workgroup that automatically sets up file- and device-sharing between Win7 machines on a local network.
(Not familiar with HomeGroup? See Microsoft’s HomeGroup product feature page. More details are available on this MS Help page and in the Microsoft Win7 Engineering blog.)
A homegroup is a godsend for people intimidated by networking. Although it’s easy to use, HomeGroup (like most black-box, self-configuring software) is a take-it-or-leave-it setup; you don’t know — and can’t change — which assumptions Microsoft built into the product.
In that same vein, it’s designed to work under a wide range of circumstances — but not necessarily optimally for any of them.
By default, Windows 7 also enables 128-bit encryption for home-network file-sharing (up from the 56-bit encryption used in earlier versions). But while heavy encryption might sound good, it does soak up some processing power and time. So I suspected that this extra encryption could also be a factor in Win7′s lackluster LAN throughput.
But all of this was speculation — an educated guess. The only sure way to know was through testing.
The HomeGroup vs. classic-networking faceoff
My concept for measuring LAN performance was simple. I’d time how long it took to copy a large set of files across the network under carefully controlled conditions.
First, I would copy the files using Win7′s default settings (with HomeGroup and 128-bit encryption enabled); then I’d copy the same files again, using the classic workgroup networking settings (with HomeGroup disabled and standard 56-bit encryption).
To create a sizable set of test files, I cloned my for-real Documents folder from the Win7 PC I use every day. That folder consisted of 2.59GB of data — an eclectic mix of 10,846 utterly standard files such as word processing documents, e-mails, text messages, spreadsheets, images, and .zip files (all representing a wide range of sizes). There were no weird or nonstandard files, no system or hidden files, nothing to make the network transfer either unusually hard or too easy. They were, in all likelihood, similar to those you have on your system.
In the first set of tests, I copied the files between brand-new, freshly installed, unmodified Windows 7 installations. I then did the same tests using my real-life systems, including the Win7 PC I’m using to write this article.
In both cases, I copied the files from the source PC to an empty folder on the target PC, thus avoiding any file-overwriting problems or delays.
While running the tests, I also shut down all other devices on my office network, disconnected the router from the Internet, and killed or suspended all software that wasn’t needed to run the tests (ensuring that no other factor would influence the results).
Taking advantage of Win7′s Robocopy stats
Once everything was set up, I used Win7′s little-known Robocopy command to move my cloned Document folder across the network. (Robocopy stands for “Robust File Copy”; see its TechNet info page for a thorough description of how it works.) Akin to Xcopy in earlier versions of Windows, Robocopy can clone entire folder trees, including subfolders many levels deep.
Making it truly ideal for my tests, Robocopy also gathers statistics on its own operation — such as how long the copy took, how many files and bytes were moved, and what the overall throughput was in bytes per second and megabytes per minute. It’s a handy tool!
Classic networking trumps Windows HomeGroup
Setting Win7 to use classic workgroup networking instead of HomeGroup (a painless, two-click change) resulted in an immediate increase in networking throughput. On my systems, those two clicks boosted throughput by an impressive 12%. And since making that change, I’ve never seen one of those slow-as-dialup moments again!
It was no fluke, either: the results were repeatable from test to test and machine to machine. Win7′s default networking settings (and not some other variable) were indeed the key.
Here are typical throughput results I obtained:
- Baseline Win7 default networking (HomeGroup and 128-bit encryption enabled):
4,291,309 bytes per second
- HomeGroup disabled, 128-bit encryption still active:
4,667,905 Bps (a 9% improvement)
- Classic workgroup-style networking (no HomeGroup, standard 56-bit encryption):
4,808,632 Bps (a 12% improvement over baseline)
A 12% boost is noticeable — it’s not the kind of speed tweak that you need a stopwatch to discern. (I could actually see that it was faster, while watching Robocopy work!)
More pleasing, however, was the elimination of the random slowed-to-a-crawl events after disabling HomeGroup and restoring 56-bit encryption.
Easy steps to a significantly faster network
To start, if you’re in a homegroup, exit it. (Need info? See MS’s Help page, “Leave a homegroup.”) Once every PC has left the homegroup, it no longer exists.
Next, to disable HomeGroup and change encryption levels, open the Control Panel, select Network and Internet, then Network and Sharing Center. Once there, in the left-hand pane choose Change advanced sharing settings.
It’s a two-click fix, as shown in Figure 1.
Figure 1. Two quick radio-button clicks are all it takes to restore classic networking speed to Windows 7.
In the Home or Work section of the dialog box, scroll down to File Sharing Connections and click the radio button for Enable file sharing for devices that use 40- or 56-bit encryption. (Note: You need this setting anyway, if you want to share files between Win7 and an XP box. More on this to come.)
Next, a bit further down under HomeGroup connections, select Use user accounts and passwords to connect to other computers.
Save the changes, and you’re done!
Pros and cons of disabling HomeGroup
Turning off HomeGroup is no loss for me — and, I suspect, for most Windows Secrets readers. Win7 is perfectly happy to use the faster, classic workgroup style of networking. If you know how to share files and devices in XP or Vista, you can do exactly the same thing in Win7 and enjoy faster speeds.
(If you need help with workgroup networking, see Microsoft’s Help & How-to page, “Join or create a workgroup.” Or (because Vista’s networking menus and dialogs are close to Win7′s) see the Technet Vista networking article, “File and Printer Sharing in Windows Vista.” Internet.com also has a useful tutorial, “Windows Vista Tips: Home Networking Setup Tutorial.”)
Networking novices, however, might feel more comfortable relying on the convenience of HomeGroup’s automated setup. But if you go this route and run into those annoying slowdowns, you know how to solve the problem.
I see little downside to dropping from 128- to 56-bit encryption for file transfers. While heavy encryption is absolutely essential for easy-to-eavesdrop Wi-Fi or public connections, it seems like overkill for standard home or office local networking. For a hacker or data thief, there are far easier ways to get information from the machine in the next room or down the hall than trying to decrypt its network file transfers!
In any case, you can’t use 128-bit file-transfer encryption if there are XP machines (or any other devices using conventional 40- or 56-bit file-transfer encryption) on your LAN. To get Win7 to communicate with XP or those other devices, you must use 40/56-bit encryption.
I suggest that you try the above changes. If you don’t like the results or it doesn’t work for some reason, just reverse the two changes shown in Figure 1 and you’ll be back where you started with Win7′s default networking setup.
But for me, gaining extra speed while giving up almost nothing makes this a must-do change on all my Win7 boxes.
Give it a try. I bet you’ll be glad you did!
| Have more info on this subject? Post your tip in the WS Columns forum.|
Fred Langa is a senior editor of the Windows Secrets Newsletter. He was formerly editor of Byte Magazine (1987–91), editorial director of CMP Media (1991–97), and editor of the LangaList e-mail newsletter from its origin in 1997 until its merger with Windows Secrets in November 2006.