Complete Guide: How a SpeedTest Works
How a speed test works: server selection, download measurement with parallel connections, latency under load, and bufferbloat explained clearly.

Have you ever run a speed test, seen 500 Mbps download, and then found YouTube buffering anyway? Or conversely, measured 20 Mbps and browsed without problems all day? Speed test numbers are real, but to interpret them correctly you need to understand exactly what they measure, how the test works internally, and above all why speedtest.it gives different results from ISP tools.
What a speed test measures
A speed test measures three fundamental values:
Download: the speed at which your device receives data from the network. It is measured by transferring test files from the server to your device and calculating the sustained average speed. It is the most important value for those who use the internet to consume content: streaming, browsing, updates.
Upload: the speed at which your device sends data over the network. Critical for those who do video calls (you must send your video stream), work with files in the cloud, manage servers or do remote backups.
Latency (ping): the time in milliseconds that a packet takes to reach the server and return. The lower it is, the better. Essential for gaming, video calls and interactive applications. A fiber connection with 50 Mbps and 5ms latency "feels" more responsive than one with 200 Mbps and 80ms.
In addition, speedtest.it also measures jitter — the variability of latency. A fixed ping of 20ms is much better than a ping that oscillates between 5ms and 60ms: high jitter causes "lag spikes" in games and interruptions in video calls.
How the test works: the internal phases
1. Server selection
When the test is launched, the system automatically selects the most appropriate measurement server. It's not just a matter of geographic distance: the quality of routing between you and the server, the measured latency and the current server load are also evaluated.
speedtest.it uses the LibreSpeed engine, an open source platform. The servers are independent from telephone operators — a deliberate choice that guarantees impartial results.
2. Latency test
Even before measuring speed, the system sends a series of small packets to the server to measure the round-trip time (RTT). Multiple samples are taken and both the average latency and jitter are calculated.
3. Download test
Download does not occur with a single large file: the system uses multiple parallel connections to fully saturate the available bandwidth. This is important because many connections — especially those with high latency such as long fiber or 4G connections — cannot exploit all the bandwidth with a single TCP connection (TCP slow start limits speed in the first fractions of a second).
With parallel connections, this limitation is bypassed: the system sees the real speed the connection is capable of.
The duration is dynamic: the test continues until it has enough data for a statistically reliable estimate, or until a maximum timeout. On very fast fiber (> 1 Gbps), the test finishes in a few seconds. On slow ADSL, it takes longer.
4. Upload test
Works symmetrically to the download: your device sends data to the server using parallel connections. The system measures the sustained speed during the full load phase, excluding the initial warm-up.
5. Latency under load (loaded latency)
This is a metric that few speed tests measure but which is very revealing: the latency while the download or upload is in progress. On many consumer connections (especially ADSL and some fiber with mediocre routers), latency under full download rises from 10ms to 200-500ms — a phenomenon called bufferbloat.
Bufferbloat explains why video calls degrade when someone else in the house is downloading a file. speedtest.it measures this condition.
Why results differ from other tests
The problem with ISP speed tests
Many ISPs (TIM, Fastweb, Vodafone, etc.) provide proprietary speed test tools. The problem: the servers for these tools are often on the same network as the ISP, connected with privileged and optimized paths. The traffic doesn't need to exit onto the public internet.
The result? Inflated speeds compared to what you experience in real life, when you visit sites that are on different networks.
speedtest.it uses impartial servers: the data travels the public network, passing through the interconnection points between operators (IXPs — Internet Exchange Points). This is the real path your data takes when you browse international sites, watch Netflix or use cloud services. The result reflects your connection in the "real world".
Factors that influence the result
Time of day: networks are more congested in the evening (6:00 PM-11:00 PM), especially on weekends. A speed test at 3 AM will almost always give better results than at 9 PM.
Wi-Fi vs cable: an Ethernet cable eliminates the variables of Wi-Fi (interference, distance, walls). If you have 1 Gbps fiber but measure via 5 GHz Wi-Fi from a different room, you might see 200-300 Mbps — not because the fiber is slow, but because Wi-Fi is the bottleneck.
Device: a powerful PC measures higher speeds than a budget smartphone on fast connections (> 500 Mbps). The limitation is the CPU that must process the packets.
Number of active connections: other devices using the network simultaneously (background updates, streaming on another TV, automatic backups) reduce the available bandwidth for the test.
How to get the most accurate result
- Connect your PC directly to the router with an Ethernet cable
- Close all programs that use the internet (streaming, torrents, Dropbox, Windows updates)
- Run 3 tests at different times and average them — a single test is an instantaneous snapshot
- Compare with peak hours: if at 8 PM you see 50 Mbps with a 200 Mbps contract, you have a real congestion problem to report to your ISP
What to do if the results are disappointing
If the speed test consistently shows speeds significantly below the contract (more than 20-30% less):
- Check the router: restart and test directly connected to the ISP's modem bypassing the home router
- Check the cables: an old or damaged Cat5e Ethernet cable can limit speed
- Test from different devices: if only one PC is slow, the problem is in the PC
- Report to your ISP: in Italy, AGCOM has established that ISPs must guarantee at least 80% of the nominal speed. You have the right to a formal report with a response.
Frequently asked questions
Why does the test show different speeds each time? The network is dynamic: the load on the server, congestion along the path, and traffic at home all vary every moment. Differences of 10-20% between consecutive tests are normal. Larger variations indicate connection instability.
How low does latency need to be to play online well? For competitive gaming (FPS, MOBA), under 30ms is excellent, 30-60ms is acceptable, above 60ms starts to be problematic. But jitter also matters: a fixed 40ms is better than 20ms that spikes to 80ms occasionally.
Should I run the speed test with VPN active? No, if you want to measure the true speed of your internet connection. The VPN adds encryption overhead and routes traffic through the VPN server — you'll be measuring the VPN speed, not your line speed. Always disable the VPN before running a speed test of the physical connection.
← All articles
