Allspaw's repeatable procedure for finding any component's ceiling — the same four steps for web servers, databases, and caches: 1. **Measure the server's primary function** (Apache hits, database queries-per-second). 2. **Measure its fundamental hardware resources** (CPU, memory, disk, network). 3. **Relate the two** — e.g. *n* database queries → *m*% CPU. Find the relationship (often roughly linear over a working range). 4. **Find the maximum acceptable resource usage (the ceiling)** by either carefully increasing real production load (via load-balancer manipulation or app techniques) or simulating production load as closely as possible. The relationship in step 3 is what makes forecasting possible: once you know the resource-per-unit-of-work, you can translate projected traffic into projected resource use. And because any architecture change can move the ceiling, the method is run repeatedly — capacity planning is a process, not a one-time event. --- *Source: [[The Art of Capacity Planning]] (John Allspaw, O'Reilly 2008) — Ch 3 — Measurement: Units of Capacity*