Two speedtests, five minutes apart, and the numbers differ by half. Nothing is broken: the test is honest about one route at one moment, and routes and moments differ. Here is what actually sits behind the number.
A speed test measures a chain, not your server
When you run a test from your VPS, the traffic travels through our data center, several carrier networks, exchange points and finally the test server on the far end. The result is the throughput of the weakest link of that whole chain at that exact minute. Your VPS interface is only the first link.
The four usual suspects
- The far end. Public test servers are free and often overloaded. A busy target caps the result regardless of how fast your side is.
- Distance. TCP throughput falls as latency grows. The same VPS that shows 900 Mbps to a server in the same city may show 250 Mbps across the continent, with zero congestion anywhere. That is protocol physics, not a fault.
- The route. Carriers exchange traffic in specific places. Two targets in the same country can sit behind completely different routes with different capacity.
- The moment. Evening peaks, a backup running next door on the target side, a temporary reroute: any of these moves the number.
How to measure so it means something
# several HTTP downloads from big, well-connected mirrors
curl -o /dev/null -w '%{speed_download}\n' https://speed.hetzner.de/1GB.bin
curl -o /dev/null -w '%{speed_download}\n' https://proof.ovh.net/files/1Gb.dat
# speedtest CLI against several nearby servers
speedtest --server-id ID1
speedtest --server-id ID2
- Test at least three different targets, at least twice, at different hours.
- Compare medians, not single best runs.
- Test from the VPS itself over SSH, not through a VPN or your home Wi-Fi: otherwise you are measuring your own last mile.
A single low result to a single target is a routing story, not a server story. If the median across several targets looks wrong, send us the numbers and an
mtr trace via support: routes are exactly the thing we can escalate to carriers.When it is not the network at all
CPU steal, a saturated disk or a busy application can look like "slow internet" from the outside. Before blaming the network, run the quick checks from the server health article.