The Request Lifecycle
1 / 3
Nothing is one hop
A request that looks like a single arrow in a diagram is a sequence of network round trips, each with its own failure mode and its own contribution to the total.
On a fresh HTTP/1.1 or HTTP/2 connection, the client may need to resolve the hostname, open TCP, and negotiate TLS before it can send the request. Connection reuse, TLS resumption, and HTTP/3 can remove or overlap some of that setup, so measure the path your clients actually take.
This is why the first rule of latency work is count the round trips. Making your handler 2ms faster does nothing if the client spent 300ms getting to it.
DNS lookup variable; often cached TCP handshake 1 RTT TLS 1.3 handshake 1 RTT Request + response 1 RTT + server work ────────────────────────────────── Fresh TCP + TLS path ~3 RTT + DNS to first byte Reused connection ~1 RTT + server work
Connection reuse is often a bigger win than a small optimisation inside the handler.
3 components2 connections0:00
Traffic3Kreq/s
Timeline
Recording…
Traffic
3Kreq/s
p50
45ms
p99
108ms
Errors
0.06%
Dropped
1.8req/s
Cost
$534/mo