Ookla speedtest and iperf are two very useful utilities for testing network bandwidth. The two commands are similar, but there are also differences. In another blog post, I list the differences between iperf and speedtests. In a nutshell, here are the main differences:
Speedtest: pushes traffic to an Internet server and measures latency, 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.
I had many discussions with fellow network engineers, and learned their take. I discovered that they use speedtest and iperf in two main cases:
User case 1: Pre-production 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.
Use case 2: Network bandwidth troubleshooting
Nobody can tell if the network is compliant with the original bandwidth requirements once in production. When issues come up, we need to verify how much bandwidth is available to the end-users. If this has to be done for a remote site, you need to RDP to the remote workstation. Then run the test from that remote 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. This is time and labor consuming and not the best use of a network engineer’s time. Another issue with this approach, is that you don’t know when the problem started, if it’s intermittent, as you don’t have historical baseline.
This is a reactive usage of iperf and speedtest and although it can answer many questions, it fails to capture the whole picture.
Solution: Network baselining with NetBeez
Baselining network bandwidth performance enables proactive detection of performance issues. It also helps collecting statistics that can help identify underperforming sites that need infrastructure upgrades.
With NetBeez, you can automate the tests and develop a baseline. It requires installing hardware or software agents at remote sites. You can then configure iperf and speedtest at a given schedule. 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.
Below, an Ookla speedtest runs four times every hour and records upload speed, download speed, and latency.
Ookla speedtest and iperf are two options to evaluate bandwidth available in a network. NetBeez enables automation for both network speed tests. 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 and speed tests.