EC2 vCPU Requirement Calculator
Size vCPUs from request rate and CPU time per request, including peak factor, target utilisation and spare instances.
Inputs
CPU time, not wall-clock latency — I/O waits do not consume a vCPU.
N+1 keeps capacity intact through one instance or Availability Zone loss.
vCPUs Required at Peak
312
Instances Required
40
Peak Request Rate
4,500requests/s
vCPUs Busy at Steady State
112.5
vCPUs Provisioned
320
Utilisation at Peak
63.3%
Step by step
Values used
Steady-state request rate = 2,500 requests/s; CPU time per request = 45 ms; Peak to steady-state ratio = 1.80 x; Target vCPU utilisation at peak = 65 %; vCPUs per instance = 8 vCPU; Spare instances for redundancy = 1 instances
EC2 vCPU Requirement
vCPU busy = requests/s × CPU seconds per request; vCPUs required = ceil(peak vCPU busy ÷ target utilisation).
vCPUs Required at Peak
= 312
Instances Required
= 40
Peak Request Rate
= 4,500 requests/s
vCPUs Busy at Steady State
= 112.5
vCPUs Provisioned
= 320
Utilisation at Peak
= 63.3
How it works
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.
Formula
EC2 vCPU Requirement
vCPU busy = requests/s × CPU seconds per request; vCPUs required = ceil(peak vCPU busy ÷ target utilisation).
- CPU seconds
- CPU time per request, milliseconds ÷ 1000
- peak factor
- How much higher the busiest minute runs than average
- target
- Utilisation you plan to hit at peak, leaving queueing headroom
Frequently Asked Questions
How is EC2 vCPU Requirement calculated?
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.
Why does EC2 vCPU Requirement matter?
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.
What values do I need to enter?
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.
Why keep the target below 100%?
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.
You might also need
- EC2 Instance Right-Sizing CalculatorCommonly used together
- EC2 CPU Utilization CalculatorCommonly used together
- EC2 Auto Scaling CalculatorCommonly used together
- EC2 Instance Density CalculatorCommonly used together
- EC2 Instance Cost CalculatorAlso in AWS Compute
- Reserved Instance Savings CalculatorAlso in AWS Compute