How it is calculated
For every location your browser first sends one request to open the connection (looking up the name, connecting and agreeing on encryption), then five more over that open connection. The time each of those five takes to come back is one round trip. The result is their median, so one slow answer does not spoil it.
latency = median of 5 round trips after 1 warm-up request jitter = average change between consecutive round trips left out: a round trip over twice the median and 50 ms above it
A browser cannot send the ICMP packets the ping command uses, so this times small HTTPS requests to the providers' public test servers instead. That is what a visitor of your site waits for, and it usually reads a few milliseconds above ping. The test servers belong to Vultr and Hetzner, two of the providers we list; other providers in the same city use the same internet exchanges, so their numbers are close.
Latency mostly follows distance: light in fibre covers about 200 km per millisecond, there and back makes it 100 km. Frankfurt to New York is about 6,200 km, so no route can be faster than about 62 ms, and real ones take 75 to 90.
Example
Seen from Berlin on a home fibre line, Frankfurt and Nuremberg answer in 12 to 15 ms, Amsterdam and London in 20 to 25 ms, New Jersey in about 90 ms and Singapore in about 170 ms. For a site whose visitors are mostly in Germany, any of the first four is a good place for the server.
What the numbers mean
| Round trip | Good enough for |
|---|---|
| Excellent < 30 ms | Game servers, trading, remote desktops, voice |
| Good 30–80 ms | Websites, APIs, SSH, databases used by a nearby app |
| Fair 80–150 ms | Websites with a CDN, backups, bots, VPN for browsing |
| Far > 150 ms | Storage and backups; a server for visitors on that continent |
Test from your computer or a server
On a terminal you can measure the same test servers with the usual tools: ping for the plain round trip, mtr for every hop on the way, and curl for the time a real HTTPS connection takes. Run them from a server you already have to see how far it is from a provider you are thinking of moving to.
ping -c 10 fra-de-ping.vultr.commtr -rwc 50 fra-de-ping.vultr.comcurl -so /dev/null -w 'connect %{time_connect}s tls %{time_appconnect}s first byte %{time_starttransfer}s\n' https://fra-de-ping.vultr.com/Questions
What is a good ping for a VPS?
Under 30 ms is excellent and only happens within a few hundred kilometres, under 80 ms is good for websites, SSH and APIs, and up to 150 ms is still fine for a site, a bot or backups. Game servers, trading terminals and remote desktops want the lowest you can get, so choose a data center in your own country or the next one.
Is ping the same as latency?
Ping is the tool, latency the thing it measures: the time a packet takes to reach a server and come back, in milliseconds. People say "ping" for the number too. Bandwidth is different: it says how much data fits through the connection per second, not how long each answer takes.
Why is the result higher than the ping command shows?
A browser cannot send ICMP packets, so this test times small HTTPS requests. Those pass through the browser and the web server on the other side, which adds a few milliseconds. A slow Wi-Fi, downloads running at the same time and a VPN add more; run the test again on a cable connection to compare.
Which data center location should I choose?
The one closest to the people who use the server, not to you, unless you are the only user. For a site with visitors in one country, pick a data center in that country or a neighbour. For visitors on several continents, put a CDN in front of the site, or run a server on each continent.