One of the "lessons learned" from our testing of higher speed (>10Mbps) network adapters is that you don't always get what you think you're getting, i.e. higher network speed. Things that didn't matter at lower network speeds come into play when using products such as 100Mbps Ethernet adapters and even the newer 802.11a wireless network adapters.
This Need To Know will show you some of the throughput-stealers that you may not know you have, and suggest some ways to get the most out of your Fast Network Adapters.
Our standard test platform for wireless PC card adapters has been a Compaq Presario 1650. "Ol' Faithful" has a 266MHz Pentium II processor with 96MB (the max, unfortunately) of RAM. It now runs WinXP Home (surprisingly well, actually), but is set up for dual-booting to Win98SE. It doesn't have a built-in Ethernet adapter, but through the courtesy of Linksys, we have a PCM200 10/100 Ethernet CardBus card at our disposal. The PCM200 has a 32bit CardBus interface, which is essential if you're going to come anywhere near utilizing all of the bandwidth in a 100BaseT connection.
The other essential piece of test gear is NetIQ's Chariot network peformance evaluation program. Although it has waaay more bells and whistles than we need, it has the ability to run tests for extended periods of time, allows control over how much data is sent and how often, and has a very nice comparison tool that allows comparison of test results in both graphical and numerical formats...complete with some simple statistical analysis, too.
The "partner" for all the tests that were run for this article is a Compaq Deskpro (733MHz Pentium III, 319MB RAM, Win98SE) with an Accton 1207D PCI adapter. Both adapters are set to auto-negotiate connection speed and are set to factory defaults. The computers are connected through the 10/100 switch in an SMC7008 Barricade router.
Transmit? Receive? What's the difference?
You'd expect your LAN to work the same whether your computer is sending or receiving data, right? While that may have been true when LANs ran at 10Mbps speeds, it turns out to often not be the case on a 100BaseT LAN. Take a look at the first Chariot plot below.
Plot 1: Compaq laptop - Receive vs Send
Plot 1 shows a one minute test between the Compaq laptop and Deskpro desktop. It clearly shows that the average receive throughput for the laptop is almost twice that of its transmit throughput. On the other hand,however, the laptop performance when sending data has a wider distribution, with the max speed of 84Mbps more than 300% higher than the minimum!
In researching possible causes for this problem, we found numerous complaints (example) of lopsided Windows networking performance. The most often mentioned suspected culprits were the various speed-tweak programs that people use to speed up their cable modem or DSL connections. Some people had success with removing the tweaks (such as in this thread from Google Groups) others found that going back to the Windows defaults didn't help their situation.
Chariot's help section suggests changing the TCP Receive Window (via a Registry tweak) to tune performance. But since we want to test products under as-equal-as-possible conditions, we'll leave the registry tweaking to someone else. If you want to experiment, however, the information over at SpeedGuide.net is about the most comprehensive that you'll find on the subject. Just remember to proceed at your own risk!
Time to spend some money...
To test whether a laptop of more current design would eliminate this unbalance, we obtained a Dell Insprion 4100 with 1GHz Celeron CPU, 128MB of RAM, and running WinXP Home. Plot 2 shows the same test as Plot 1, but run with the Dell in place of the Compaq laptop. There's clearly still a send, receive imbalance, but the percentange differences are smaller, and average speeds are significantly higher. It's also interesting to note that the receive test has smaller variation in this case. Note also that in order to control the number of variables in the test, we used the Linksys adapter for this test, even though the Dell comes with a 10/100 adapter built in.
Plot 2: Dell laptop - Receive vs Send
To see if we could get a better feel for the relationship between processor speed and network throughput, we ran tests between three pairs of machines:
- "dell" is the previously described laptop (1GHz Celeron)
- "pat" is a Compaq Presario 5451 with 500MHz AMD-K6-2, 252MB RAM, Win98SE, and Netgear FA310TX PCI Fast Ethernet adapter
- "rat" is the previously described Compaq Deskpro (733MHz Pentium III)
The results shown in Plot 3 show that the pairing of 500 and 733MHz machines turn in the slowest performance. Next best is the 500 and 1GHz pairing, followed by the best performance via the matchup of 733MHz and 1GHz machines. Although it's surprising that it took two over-500MHz machines to get at least 50Mbps network throughput in both directions, we can't really say that these results represent a hard rule, given all the variables in the experiment. But it's clear that faster is better!
Plot 3: Dell laptop - Receive vs Send
Does OS Matter?
Since Win98SE and WinXP are very different operating systems and are based on different TCP/IP stacks, we checked to see what changing the OS would do. Plot 4 shows the results from running the pair of send and receive tests using the Compaq laptop, using WinXP Home then Win98SE. You can see a 10% gain in send performance with XP, but receive performance is about the same in both OSes, including the higher variation in results.
Plot 4: WinXP vs Win98SE
Since the Dell has a built-in Ethernet adapter (a 3Com 3C920 Integrated Fast Ethernet Controller - 3C905C-TX Compatible), we took the opportunity to compare its performance with that of the Linksys PCM200. Plots 5 and 6 show very little difference between the two adapters. Although it would be foolish to say that this means that there are no differences to be found among different CardBus Ethernet controllers in general, we think it's safe to say that you should only consider CardBus adapters for your laptop (if it doesn't already have one built in) if you plan on running on a 100BaseT network.
Plot 5: Linksys vs 3Com Ethernet - Receive
Plot 6: Linksys vs 3Com Ethernet - Send
It appears that if you want to get the most out of networks that run at speeds higher than 10Mbps, you'd better have a fairly up-to-date machine. Our not-so-controlled experiment showed we needed two machines with processor speeds over 733MHz to get at least 50Mbps network throughput for both send and receive conditions.
If you're using a laptop / notebook computer on an Ethernet network, either get one with a built-in 10/100 Ethernet adapter, or make sure that you get a CardBus adapter. PC card adapters may be less expensive, but their 16 bit bus interface will definitely limit your networking throughput.
Although our experiments were done with Ethernet adapters, other testing we've done with 802.11a wireless adapters indicates a similar relationship between processor speed and throughput. So if you want to get the most out of 802.11a's higher networking speeds, you won't be able to use any of those $500 notebook close-out specials that look soooo tempting.