Engineering log,

What a wake costs, measured

A sleeping machine answers its first request in 211 to 255 ms, end to end. What that number covers, and how it was measured.

What we measure

When a machine sleeps here, its memory is written to a file on local NVMe and the memory itself is handed back to the host. A customer sends a request. Between that request arriving and the first byte coming back sits the whole wake path: a new hypervisor process is started, a network interface attached to it, the snapshot restored (26 to 40 ms), and then the platform waits for the port inside the guest to accept connections again. 211 to 255 ms is that whole path, because that is what somebody experiences.

The figures

Against a genuinely sleeping machine, on the host itself, so that no network path could hide inside the number:

What Measured Under which condition
snapshot restore alone 26 to 40 ms against a real sleeping machine, measured on the host itself
first request, end to end 211 to 255 ms the same machine, measured on the host, so no network path sits inside the number
the same machine booted from nothing 2 to 5 s for scale, this is what a cold start costs

The series

Four runs from the same day.

What Measured Under which condition
e2e case suspend-twice, first sleep and wake round 223 ms automated test on the fleet, 2026-08-01
the same test, second round on the same machine 249 ms the round that proved a machine can sleep more than once
terminal capture, 17:22 UTC 240 ms the capture on this page, reported by the host
terminal capture, earlier the same day 267 ms recorded a few hours before the other three, reported by the host

A capture

Recorded on 2026-08-01 against the demo machine, copied from the terminal, every line:

$ ry machine suspend 1595c340
suspending 1595c340
✓ 1595c340 ● suspended
$ curl -s -D - -o /dev/null -w 'time to first byte %{time_starttransfer}s' https://wake-demo.<test fleet>
HTTP/1.1 200 OK
content-type: application/json
date: Sat, 01 Aug 2026 17:22:18 GMT
x-rytiv-wake-ms: 240
transfer-encoding: chunked
x-rytiv-machine: 1595c340
x-rytiv-host: rytiv-node-1
Connection: keep-alive
Keep-Alive: timeout=5
time to first byte 0.853474s

Two numbers in one capture, and they measure different things. The host reported 240 ms for the wake itself, in the x-rytiv-wake-ms header. The 0.85 s on the last line is the whole round trip from a laptop in Germany, including DNS and TLS. The address of the demo machine is shortened.

Where these numbers come from

  • The figures: measured against a sleeping machine on one node of our own fleet, on 2026-08-01, on a host doing nothing else.
  • The runs: the automated case that puts a machine to sleep twice, and two terminal captures of the same day.

Internal records are German and are not published. They are named here so a number can be walked back to the run that produced it, and so nobody has to follow a link that does not resolve.