Propagation delay

Propagation delay is the time that a signal needs to travel between two points. Light in fiber covers about 200 km each millisecond, so a round trip between continents takes 70 to 160 ms. A faster server cannot remove this delay, but a shorter path or fewer round trips can.

Play a level

See it on the board

The same traffic runs on two boards. The simulator measured both when this page was built.

Board to show
HTTP/2SQLUsersAPI server1 vCPU · 1 GBPostgres2 vCPU · 4 GBAPI server2 vCPU · 1 GB
HTTP/2HTTP/2SQLUsersAPI serverPostgresAPI server
Chat waits for Earth on each message: misses a goal
AMQPSQLUsersAPI server1 vCPU · 1 GBPostgres2 vCPU · 4 GBMessage bro…1 vCPU · 1 GB
HTTP/2AMQPSQLUsersAPI serverPostgresMessage bro…
Outbox on the base sends to Earth later: meets the goals
See it on the board
Measure Goal Chat waits for Earth on each message Outbox on the base sends to Earth later
p99 latency under 300 ms 7.4 s Fail 71 ms Pass
Lost writes none 0 Pass 0 Pass
Completion time under 30 s 0 s Pass 23.32 s Pass
Monthly cost 28 USD/mo 24 USD/mo
Error rate 0.2% 0%
Level rules none broken Board is not complete Fail Pass

Key numbers

Physical constants from the physics table and network times from the simulator defaults.
NumberValue
Speed of light in a vacuum299,792,458 m/s
Fiber group index, in millionths1,468,200 ppm
Round trip in one continent, up to40 ms
Round trip between continents, from70 ms
Round trip between continents, up to160 ms
Light across a planetDrag or use arrow keys to pick a path

Lasers in orbit, New York to London · 7,151 km · 24 ms one way

How it works

A signal cannot travel faster than light. In a vacuum, light covers about 300 km each millisecond. In optical fiber it is about one third slower, about 200 km each millisecond. Cables also follow coasts and sea floors, not straight lines, so real paths are longer than the distance on a map.

This sets a floor on latency. A round trip from Europe to the east coast of the United States takes about 70 ms or more, with any hardware. A request that needs several round trips, for example a new connection with TLS and then a query, pays that floor several times.

Three tools help. Move the work near the user, with a region or an edge location close to them. Cut the number of round trips with connection reuse, fewer calls in sequence, and protocols that need fewer handshakes. And stop waiting: when the far side does not have to answer at once, keep the message in a local durable outbox, answer the user, and send the message in the background.

Distance also limits consistency. A write that must be confirmed on two continents waits for the slowest link each time.

In the levels you keep each answer on the near side of a long link and let an outbox carry the messages across it.