Internet connectivity is never a stable speed. Between off-peak and high traffic hours it can be impossible to get a good connection. In order to rectify this you generally need to know what your internet speed is at any given time, but why do they differ so much site to site?
Recently one of my co-workers Tim has been seeing quite a few different numbers when running various web-based speed tests on his home connection. On one? 178.4 Mbps—not too shabby. On the other? 187. Still doing great. On a third, though, is where we encounter a strange issue: 22.7 Mbps, which looks like a catastrophe. It could also be a red herring, launching a person into a tornado of troubleshooting they might not even need.
First, all the speed-testing sites have a slightly different ways they calculate statistics like your download/upload rates, but the general principles are pretty similar. For example, here’s how Speedtest.net describes its process.
To measure latency, the site looks at the time it takes for a message to bounce from you, to the server, back to you again, and repeat this process over and over — the lowest value becomes your latency result. For downloads and uploads, Speedtest measures how long it takes to process multiple data chunks, while simultaneously working to stuff the pipe full of data (as it were) throughout the test.
“Depending on network throughput, the fast.com client runs the test using a variable number of parallel connections. For low throughput networks, running more connections might result in each connection competing for very limited bandwidth, causing more timeouts and resulting in a longer and less accurate test.
When the bandwidth is high enough, however, running more parallel connections helps to saturate the network link faster and reduce test time. For very high throughput connections, especially in situations with higher latency, one connection and a 25MB file might not be enough to reach maximum speeds, so multiple connections are necessary.
For each connection, the fast.com client selects the size of the chunk of the 25MB file that it wants to download. In situations where the network layer supports periodical progress events, it makes sense to request the whole file and estimate network speed using download progress counters. In cases where the download progress event is not available, the client will gradually increase payload size during the test to perform multiple downloads and get a sufficient number of samples.”
Even if this sounds like a bunch of networking gobbledygook to you, that’s OK. The point is that you should approach throughput testing scientifically, because there are lots of variables that can affect at typical internet speed test—beyond the inherent differences of the tests, that is.
Perhaps you have an artificially slow connection to whatever server(s) the test is using or the test is messing up. Your ISP might be prioritising or throttling your performance, depending on how the test operates. Even your browser, packed with add-ons and extensions, might be interfering with a specific test somehow. Or you’re running tests at different times and misinterpreting a “poor” internet connection for what’s actually network congestion stemming from every other person in your neighbourhood streaming Netflix at the same time—that kind of thing.
And don’t get me started on running these tests on a wirelessly connected device. When possible, use a wired connection to eliminate variables (if you’re only trying to find out whether your house or apartment is actually getting the speeds you’re paying for). Adding wireless networking into the mix makes the troubleshooting considerably more difficult, since you’ll have to run more tests to isolate the issue to your ISP, your router, or your device.
Treat web speed tests like a science project
You don’t want to rely on the results of one test from one service, even if they appear great. You should run multiple tests from multiple providers to see if you can get a sense of the trend. Are you speeds, on average, 75 per cent slower than what you’re paying for? There’s a problem.
Are one or two tests reporting so-so speeds, but every other site is blazin’? You’re probably doing fine, especially if you haven’t noticed any major issues in everyday use.
Are you having trouble getting gigabit downloads on yoru fibre connection? Maybe your laptop—with its mechanical hard drive and low memory — can’t process a firehose of data, and that’s affecting the test results (to simplify the process greatly).
When I want to get a good sense of my internet speeds, I run a variety of tests and see how things go before getting stressed. This list includes:
This sounds like a lot, but these tests are all simple to run — you hit a button, you let it chug, and you go do another one. It’s easy.
If one or two of tests are off, it’s not that big a deal. If I can’t get the speeds I’m expecting on any of them, I then consider how much I want to tear up the house’s networking setup (or my desktop system) because I’m not getting the full 100+ Mbps that my roommates and I should be enjoying. Fun times!