Size vCPUs from request rate and CPU time per request, including peak factor, target utilisation and spare instances.
Requests per second multiplied by CPU seconds per request gives CPU-seconds consumed per second, which is exactly a vCPU count — the utilisation law behind every capacity model. Dividing by the target utilisation adds queueing headroom, because response time climbs sharply as a processor-sharing system approaches saturation, and adding spare instances afterwards keeps the target intact when one node or AZ disappears. Sizing from CPU time rather than latency avoids the classic mistake of provisioning for I/O wait, which needs threads and memory but no additional vCPU at all.
EC2 vCPU Requirement
vCPU busy = requests/s × CPU seconds per request; vCPUs required = ceil(peak vCPU busy ÷ target utilisation).
vCPU busy = requests/s × CPU seconds per request; vCPUs required = ceil(peak vCPU busy ÷ target utilisation). Requests per second multiplied by CPU seconds per request gives CPU-seconds consumed per second, which is exactly a vCPU count — the utilisation law behind every capacity model. Dividing by the target utilisation adds queueing headroom, because response time climbs sharply as a processor-sharing system approaches saturation, and adding spare instances afterwards keeps the target intact when one node or AZ disappears.
Sizing from CPU time rather than latency avoids the classic mistake of provisioning for I/O wait, which needs threads and memory but no additional vCPU at all.
This calculator takes 6 inputs: Steady-state request rate, CPU time per request, Peak to steady-state ratio, Target vCPU utilisation at peak, vCPUs per instance, Spare instances for redundancy. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Queueing theory: for a processor-sharing server, waiting time scales as 1 ÷ (1 − utilisation). At 65% you pay about 3× the service time in latency; at 90% you pay 10×. Targets of 60–70% are the usual compromise between cost and tail latency.