I apologize. Last week in Tech 911, Lifehacker’s technology-advice column, I took a question from Lifehacker Editor-in-Chief Melissa. She’s technically a Lifehacker reader, so it still fits this column’s theme, but it feels like a cheat. I’m doing the same thing again this week, not because you haven’t been sending in valuable questions—you have!—it’s just that another Lifehacker staffer had a great question about a topic we recently explored, and I bet some of you will have similar thoughts.
Lifehacker Social Media Editor Tim writes (via Slack):
“How the fuck do internet speed tests work and why am i getting wildly different results on different tests?!?!”
I explored this question a bit more, and it turns out that 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.
Here’s Netflix’s approach for fast.com:
“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 prioritizing 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 neighborhood 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 percent slower than what you’re paying for? There’s a problem.