Network Speed Test with SpeedTest and Iperf

What is a Network Speed Test?

Ookla SpeedTest and Iperf are two very useful utilities for testing your pipes in terms of how much bandwidth they can pass. Their feature lists overlap, but there are also some differences. In another blog post, I list the differences between iperf and speed tests;  you can read the complete rundown on them, but in a nutshell:

Speed test: pushes traffic to an Internet server and measures latency, and upload and download speed.

Iperf: pushes TCP or UDP traffic between two hosts under your management and can measure bandwidth, jitter, and packet loss. Mostly used in WAN testing.

Through my discussions with fellow network engineers, I have learned that SpeedTest and Iperf are used in two main cases:

Preproduction stress testing

During and after a wired or wireless network implementation, they are used to test and measure capacity, voice quality, firewall rules, and multicast. The network engineer needs to test the network from different vantage points and make sure that the design and implementation deliver the required performance and services.This is a labor intensive task and is tolerated because it needs to be done only once.

Network Troubleshooting

Nobody knows if the network stays compliant with the initial requirements after it is put into production. When issues come up, we get to the troubleshooting use case of Iperf and SpeedTest. They are used to test whether performance has degraded or not. The problem now is that you need to RDP to the remote site and run the test from a local machine to the Internet or another WAN host. If that is not possible, you can try to guide an unskilled employee to run the test and send the results back. If everything else fails, you have to dispatch someone to the site with a laptop to do the testing. In addition, when you manage to get the bandwidth measurement you don’t know when the problem started, if it’s intermittent, and often you don’t have historical baseline data to know whether you have deviated from the expected network performance.

This is a reactive usage of Iperf and SpeedTest and although it can answer many questions, it fails to capture the whole picture.

Baselining network bandwidth performance enables proactive detection of performance issues, as well as collection of statistics that can help identify suffering sites that need infrastructure upgrades.

With NetBeez, you can automate this baselining by using permanently installed agents at each remote site that run Iperf and SpeedTest continuously. The agents can be deployed during the network implementation phase and stay there to baseline and monitor the network for performance degradation issues. If an issue comes up, you are notified as soon as it happens and you don’t have to wait for a user to complain about slowness anymore.

Below we can see a UDP test that runs three times every hour between a wireless and a wired agent, and measures bandwidth, jitter, and packet loss.

iperf network speed test in NetBeez

iperf on NetBeez

Below, an Ookla SpeedTest runs four times every hour and records upload speed, download speed, and latency to a server hosted in Independence, MO (Server ID: 8088).

Network speed test on NetBeez

Network speed test on NetBeez

If you want to try this out yourself, you can sign up for a demo and then request a trial. You will have your own dashboard and will be able to run iperf, speed test, and many other network monitoring tests.