Updated 10/31/13: Added link to follow-up article
Knowing how fast your network can move data is a question for more than just tweakers and speed demons. It's a key skill to have when testing out wireless, powerline, MoCA and other "alternative" (to Ethernet) networking technologies.
Fortunately, it's pretty easy to see how fast the bits fly and it even the pay-for options are easy on anyone's wallet.
For all the methods, there are a few things to keep in mind.
- Start by making a benchmark measurement on your Ethernet LAN. That way, if you're testing something other than Ethernet, you have a standard for comparison. While you might get 90+ Mbps from an 100 Mbps Ethernet connection, you might only measure ~600 Mbps on a Gigabit Ethernet LAN.
- Don't use an Internet-based test unless you are trying to test your Internet connection speed. There are just too many variables involved for this to be an accurate measurement of your LAN's performance.
Totusoft's LAN Speed Test is the quickest and easiest way to test network speed. The only thing it needs besides a Windows machine to run on is a target network share. LST runs from memory on the computer it's running on, so won't be limited by hard (or solid state) drive speed. And it clears cache between writes and reads to ensure that the file actually gets read.
Figure 1: Totusoft LAN Speed Test
Here's what it does (from the LST Help file):
1. Create a 1 MB random test packet file in memory
2. Start the Write Timer
3. Write the file to the network folder you chose
4. Stop the Write Timer
5. Clear the Windows File Cache
6. Start the Read Timer
7. Read the file from the network folder
8. Stop the Read Timer
9. Delete the file from the network folder
10. Repeat this process the number of times you
entered in 'Test Packets'
I like it for quick "am-I-in-the-ballpark" measurements without the hassle of setting up client and server machines as other methods require. All you need to do is browse to a network share, select the test file size, select the output units (Kbps, Mbps, KBps, MBps) and start the test.
Unfortunately, LAN Speed Test isn't as accurate as other methods, as you can see when you compare its 441 Mbps (Figure 1) to the 736 Mbps that IxChariot measured (Figure 3) for the same Gigabit connection. It did better with a 100 Mbps connection between the two test machines, coming up with 81 Mbps vs. IxChariot's 93 Mbps. Even with this inaccuracy, it beats the manual method of copy, measure and calculate and it's fine for relative measurements.
Although there is a free V1.1 version, spring for the $5 that V2.0 costs and help support a useful program.
NetStress beats jperf hands down for getting a throughput vs. time look at what your connection is doing. It's a client / server based tool, so you need to install it on the two machines that will be at each end of the LAN connection you're testing.
Figure 2: Nuts About Nets NetStress Gigabit connection test
I loaded it on Windows XP SP3 and Win 7 Home Premium (64 bit) systems and it ran fine on both. When you launch the program, it prompts to select a network interface if your system has more than one.
You then get a nag to choose a remote adapter via a system notification and a flashing Remote Server IP menu bar item. Clicking on the Remote Server IP shows you available partners running Net Stress and you just click to select.
You can run up to eight each of TCP and UDP streams and set the segment size for TCP and UDP separately. You also set data direction, display units and MTU. While you can run TCP and UDP streams concurrently, you can test in only one direction at a time.
NetStress' key weakness is that it isn't up to testing Gigabit connections. Figure 2 shows NetStress measured 174 Mbps vs. IxChariot (Figure 3) coming up with 700+ Mbps for the same Gigabit connection. When I forced port speed on the switch to 100 Mbps, though, Net Stress correlated just fine.
Figure 3: IxChariot Gigabit connection test
NetStress' other annoyance is that it's a screen hog, automatically expanding to take up your entire screen and not providing any way to resize it.
The other way to measure network performance is to monitor what's going on while you transfer a file or folder or stream audio or video. You'll want to use this method to get a profile of video content you intend to stream wirelessly.
Once you know the bandwidth your content requires, you then know what your network has to deliver. When you profile, make sure you do it for long enough and especially for scenes with fast motion, which spike bandwidth.
ReadError's NetMeter is a free network monitor that gives you the basics. You can select adapters to monitor, set the display units and play with display colors and other visual niceties. But as Figure 4 shows, the info displayed is pretty sparse.
Figure 4: ReadError NetMeter
NetMeter is plenty accurate, though, and able to keep up with a Gigabit connection. And since it's a monitor, it can be used to track bandwidth consumption and throw an alarm when a limit you set is reached.
The price is right (free). But for my taste, the display and features are a bit sparse.
The other Net Meter, which I think preceeded ReadError's, comes from Hoo Technologies and costs $25 after a 30 day trial. It has tons more display options (Figure 5), better reports and, my favorite, lets you clear the display without having to quit the app.
Figure 5: Hoo Technologies NetMeter
It has a mode, which I didn't try, that works with TCPview to plot bandwidth use for all TCP and UDP connections in use. And it also has no problem keeping up with a Gigabit connection.
Even though all the previous options are much easier to use, iperf and jperf still have their fans. Doug Reid did a good job of describing both in his iperf and jperf articles, so I'll just point you there for the details.
Be forewarned that the defaults of both programs can seriously understate what your network is really capable of. There are lots of network parameter knobs you can twiddle, which is a strength to some, but has always put me off using them.
Don't like any of these? Check this newer article for three more free options.