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.
See it on the board
The same traffic runs on two boards. The simulator measured both when this page was built.
| 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
| Number | Value |
|---|---|
| Speed of light in a vacuum | 299,792,458 m/s |
| Fiber group index, in millionths | 1,468,200 ppm |
| Round trip in one continent, up to | 40 ms |
| Round trip between continents, from | 70 ms |
| Round trip between continents, up to | 160 ms |
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.