Server rendering vs static pages

Server rendering builds the page on a server for every view. A static page is built once and served from the edge. When a launch spike lifts 40 views/s to 240 views/s for 30 s, server rendering fails 49 percent of views and p99 passes 10 s. A static page keeps p99 at 246 ms for half the cost.

Play the level

A page waits for its slowest callDrag or use arrow keys to change the calls per page

Calls per page: 20 · 18% of pages wait 2.0 s

Case 1

A launch page shows the same 12 product cards to every visitor on 4G with a 65 ms round trip. Views rise from 40/s to 240/s at 0:20 for 30 s. First content p99 must stay below 400 ms.

Case 1
Measure Goal Render on a server for each view A static file served at the edge
p99 latency under 400 ms 10.1 s Fail 246 ms Pass
Error rate under 0.1% 49.4% Fail 0% Pass
Monthly cost 64 USD/mo 32 USD/mo
HTTP/2SQLMobile usersNode API2 vCPU · 2 GB × 2Postgres1 vCPU · 2 GB
HTTP/2SQLMobile usersNode API2 vCPU · 2 GB × 2Postgres1 vCPU · 2 GB
Render on a server for each view: misses a goal
HTTP/2HTTP/2Mobile usersCDN1 vCPU · 1 GBObject stor…1 vCPU · 1 GB
HTTP/2HTTP/2Mobile usersCDN1 vCPU · 1 GBObject stor…1 vCPU · 1 GB
A static file served at the edge: meets the goals