Everyone wants a faster network. Before you can speed yours up, though, you’ll need to know how fast it’s going now. Unfortunately, measuring network speed isn’t straightforward. Your network hardware may be rated to go 54Mbps or 100Mbps, but in reality your data moves at only a fraction of that – often at no more than 50 per cent.
One reason is networking overhead – the administrative bits that ensure your data gets where it’s supposed to go. Also, speeds are limited by the slowest component: if your computer can only read data from your hard drive at 50Mbps, a 100Mbps network can’t move it any faster than that.
The three tests described here will show you both the potential and the real-world speed of your network, based on the protocols your network uses and the speed of your components. All three tests are performed using two computers – we’ve called them Computer 1 and Computer 2.
Before you start, make sure that those machines are connected through the kind of network you want to test (usually Ethernet or wireless) and that you’ve selected that method in OS X’s Network Preferences pane.
Test 1: AFP speed
This test uses Apple Filing Protocol (AFP) to copy a large file between two computers. It shows how fast AFP works on your network and how fast your hard drives can read and write.
First, select a large file – preferably one that’s about 1GB in size – on Computer 1. Use Get Info in the Finder (?-I) to find its precise size in megabytes. Multiply that number by eight to convert that size to megabits.
The simplest way to test network speed is to move a big file from one computer to another via AFP
Then get out a stopwatch or turn on the seconds display in the menu bar’s clock (in the Date & Time preference pane, select the Clock tab and check Display The Time With Seconds).
Now, on Computer 1, in the Finder window’s sidebar under Shared, select Computer 2. (If it isn’t there, go to the Sharing preference pane on Computer 2 and select the File Sharing service.) Click on Connect As in the upper right of the window, and enter a valid user name and password for Computer 2.
Next, mount a volume from Computer 2 by double-clicking on that volume’s name. Making a note of the current time (including seconds), drag the large file from Computer 1 to Computer 2’s shared volume to initiate a file transfer.
When that transfer finishes, note the concluding time. Subtract the finish time from the start time you noted earlier, and convert the difference to seconds. Finally, divide the size of the file (in megabits) by the transfer time (in seconds) to get Mbps. There you have it: your transfer speed.
Test 2: Hard-drive read/writes
AJA Video Systems offers a free tool that’s intended to check the video frame rates your drive can handle – but it can also be used to test network speed. Like the first test, it uses AFP to transfer data between computers, but because it lets you specify the size and number of files transferred, it can be more precise.
To start, download the AJA System Test (www.aja.com) to Computer 1. After installing and launching it, select its Preferences from the application menu and select Enable Network Volumes. In the Finder, mount Computer 2 and then select it from the Volume pop-up menu in AJA System Test. Select 1.0GB from the File Size menu. Leaving other settings as they are and making sure there are no other major operations on the network, click on Start.
The program will then write and read a 1GB test file to Computer 2; it will report the results to you in Mbps. You can repeat the test with other machines on your network, or with other volumes.
This downloadable utility really tests the speed of transfers between two hard drives – which can tell you a lot about real-world network performance
Test 3: iperf
An open-source application called iperf can give you the best raw measure of network speed. It will show you the fastest rate at which your network can possibly perform, exclusive of network protocols or hard-drive speeds.
To start, you’ll need to download and install iperf to Computer 1. Next, on both computers, go to the Network preference pane and jot down the IP addresses assigned to all the active network interfaces.
Choose one computer to act as a server (Computer 1) and the other to act as a client (Computer 2); you can reverse these roles whenever you like. On Computer 1, enter this code at the command line in Terminal (/Applications/Utilities):
./iperf -s -K 1M
That 1M parameter tells iperf to send test data in 1MB chunks. To test for smaller files, change that variable to something smaller, such as 64K (64KB).
(File size can have a big impact on network speed: moving 5,000 small files that add up to 50MB can take 10 times as long as moving one 1GB file, because of the inefficiencies of networking protocols.)
Next, on the command line of Computer 2, enter the following: ./iperf -c 10.0.1.100 -i 1 (10.0.1.100 is the IP address of Computer 1 in this example).
Now iperf will flood your network with traffic and measure its speed. It will begin to report the speed of your network every second; after 10 seconds, it shows the average.
The advantage of getting these frequent snapshots is that they can help you isolate transient events that may be lowering your overall speed – such as seeing 1Mbps one second and 100Mbps the next.
Interpreting the results
Gigabit Ethernet should be able to deliver over 900Mbps in raw throughput between two computers when measured through iperf; it will deliver far less through an AFP test.
The reason? AFP has a high network overhead that reduces its throughput; 100Mbps Ethernet should hit over 90Mbps of raw throughput, and AFP can top out at about the same speed.
WiFi can produce all kinds of speeds. If both computers are on 802.11n WiFi using the 5GHz band, then each bit of data is transmitted twice (once to the base station from the client and once from the base station to the server); you should see as much as 50Mbps of actual throughput.
If one computer is on 802.11n in the 5GHz band and the other is on Gigabit Ethernet, you might see 150Mbps in raw network speeds.
If your numbers are significantly below these, it’s a sign that something is very wrong, and that it’s time to start troubleshooting your network.