Skip to content
Calcrivo

Executor Requirement Calculator

Calculate the number of Jenkins executors needed to sustain a target build throughput given average build duration.

Inputs

builds/hr

Desired sustained build throughput.

min

Average time a build occupies one executor.

Executors Required

4executors

Exact Executor Requirement

4.000

Utilization at Rounded Capacity

100.0%

Step by step

  1. Avg duration in hours

    8min ÷ 60

    = 0.1333hr

  2. Executors (exact) = builds/hr × avg duration (hr)

    30 × 0.1333hr

    = 4.000

  3. Executors needed = ceil(exact)

    ceil(4.000)

    = 4 executors

How it works

Little's Law applied to a build farm: the number of executors needed to sustain a given arrival rate equals that rate multiplied by how long each build occupies an executor. Rounding up with `ceil` ensures enough capacity to avoid a queue from forming under steady-state load — though this doesn't account for burstiness, so real deployments typically add extra headroom above this baseline.

Formula

executors = ceil(buildsPerHour × avgDurationHours)

B_h
Target builds per hour
t_h
Average build duration in hours
E
Executors required

Frequently Asked Questions

Why round up with ceil instead of down?

Rounding down would leave slightly less capacity than the target throughput requires, causing queue buildup over time even under perfectly steady load; rounding up guarantees the theoretical capacity meets or exceeds demand.

Does this account for traffic bursts?

No — this is a steady-state average calculation; real build traffic is bursty (e.g. everyone pushes right before standup), so production capacity planning typically adds 20–50% headroom above this baseline to absorb bursts without long queue waits.

How does this relate to the build queue calculator?

This calculator answers 'how many executors do I need for zero steady-state queueing,' while the build queue calculator answers 'given my current executor count, how long will builds wait' — they're inverse views of the same queueing relationship.

You might also need