Understanding speed test results

One of the reasons people conduct speed tests is frustration and doubt the bandwidth they receive from the provider. Before you condemn the provider, understand what the results from the tests are communicating.

There are many speed test tools out there that help measure the upload and download speed of a network including Okla.’s Speedtest.net, Netflix’s Fast.com, Speedof.me and others Google’s speedtest.googlefiber.net and many others.

In case one subscribes for 50 Mbps, that is exactly what they want to see as download and upload from the tests. In this blog post we will explain how the measurements are done and why you may get different results from what you expect.

We start off with a snip of a speed test result taken using a speed test tool powered by perfSONAR and used at the Research and Education Network for Uganda (RENU) for inter-RENU speed test measurements.



Internet speed is an usually a measure of the reliability and performance of an Internet connection and it is most commonly measured in Mega bits per second (Mbps).

Download: A measure of how quickly you can pull data from a server on the Internet to your device.

Upload: A measure of how quickly you can send data from your device to a server on the Internet.

Jitter is the variation in the time between data packets arriving. It is caused by network congestion or route changes.

Packet loss occurs when a data packet being sent over the network is not received or incomplete. Packet loss is expressed as a percentage of the lost packets.

How measurements are done

Speed tests can be conducted using of your choice with either a browse or a application already downloaded on a mobile device. With both options lets dive into how the tests are done.

Measuring Latency and Jitter: The testing device(client) sends a message to a server and measures the time it takes for the client to receive the message. Multiple messages are sent and the minimum latency is recorded. The difference in the round trip time is recorded as jitter.

Download: The client establishes multiple connections with the server and requests for an initial chunk of data from the server. The client calculates the speed in Mbps, adjust the chunk size and requests for more data until the network connection is maximized. The test ends after the predefined time for the test elapses.

Upload: The client establishes multiple connections with the server and sends a chunk of data to the server. The client calculates the speed of the data transfers, adjusts the chunk size and sends more data until the network connection is maximized. The test ends after the predefined time for the test elapses.

Explaining the results and understanding the difference in the expectations

There are a number of undertakings one needs to consider before dismissing the results from a speed test and hence labeling the provider as incompetent or even a cheat.

  • Current traffic utilization on the network

Its very important to check the current utilization and compare which what the results of the test reveals. For example, a campus is allocated 50 Mbps and is currently using 30 Mbps of download speed at the time of taking that test. They will most probably get a value close to 20 Mbps. The results of a speed test usually show the capacity left for the users to work with.

Consider the connection to the provider as a pipe allowing in water at the subscribed capacity. In case the site is using the whole 50 Mbps, the results from the test may show close to 0 Mbps.

  • Hardware limitations:

There are many hardware limitations that prevent one from receiving the actual results from a speed test tool. The range from adapter capabilities, cable limitations, wireless network limitation and many others. With a 100 Mbps Ethernet adapter one cannot get more than 100 Mbps. A Cat5 ethernet cable will give not more than 100 Mbps on a wired network yet Cat5e or Cat6 can allow more data rates.

“A network is as good as its smallest link”

  • Speed test Server location

If the speed test server is hosted on your providers’ network, better results would surely be realized compared to using servers hosted on external networks.

  • Browsers have different abilities and may yield different results especially on hish speed networks. Taking the tests using an application sometimes yields different results from using a browser.

Bandwidth requirements for your applications

The pipe size needs to be sufficient to run the user applications. The most suited questions to ask here would be;

  • How much bandwidth is required for concurrent users on the network to work seamlessly?
  • What are you using the service for and how many devices will be accessing the service at once?

For your applications to run seamlessly a certain amount of bandwidth is required and some examples are listed;

  • Streaming of 4K videos requires 15 – 25 Mbps while YouTube HD or Netflix HD requires 5 – 10 Mbps.
  • Facebook live 4 Mbps
  • Zoom for single screen requires  a minimum of 2 Mbps
  • For a group video call, Skype requires a minimum download speed of 512Kbps and a minimum upload speed of 128Kbps and increases as more users join the call.

A network manager needs to calculate or estimate the bandwidth needs of the network for smooth management of the allocated capacity and possibly work around procuring more capacity.

Knowing the bandwidth needs of the network helps a network manager to use bandwidth management strategies and scheduling for file transfers, OS updates, streaming sessions, online classes or meeting given the subscribed bandwidth and users per session.

Best practices for taking speed tests and result interpretation

  • Run tests from different speed test tools.
  • Choose different servers for a given tool and compare the results.
  • Run regular tests at different times of the day. In the morning when no one is on the network and compare the results at peak times
  • Compare traffic utilization at the given time before you take the results.
  • Approach the provider to establish the irregularities with several results collected over time in case of undesired Internet performance.