Job Completion Time Calculator
Estimate total wall-clock time for a Kubernetes Job to finish all its completions given a parallelism level and average pod duration.
Inputs
The Job's .spec.completions — total number of successful pod completions needed.
The Job's .spec.parallelism — max pods running concurrently.
Average time for one pod to complete its task.
Estimated Job Completion Time
5.0minutes
Estimated Job Completion Time
0.08hours
Sequential Batches
10
Total Time
300seconds
Step by step
Batches = ceil(completions ÷ parallelism)
ceil(100 ÷ 10)
= 10
Total time = batches × avg pod duration
10 × 30s
= 300s
How it works
A Kubernetes Job with N completions and parallelism P runs in ceil(N/P) sequential batches, since only P pods run at once. Total wall-clock time is that batch count multiplied by the average time for one pod to finish. Increasing parallelism reduces total time proportionally until you hit cluster capacity limits, at which point new pods queue as Pending instead of running concurrently.
Formula
totalTime = ceil(completions / parallelism) × avgPodDuration
- N
- Total completions required (.spec.completions)
- P
- Parallelism (.spec.parallelism)
- t_p
- Average pod duration in seconds
- T
- Estimated total job wall-clock time in seconds
Frequently Asked Questions
What if pod duration varies a lot between tasks?
Use a higher percentile (p90) rather than the mean for avgPodDurationSeconds, since the slowest pod in each batch determines when the next batch can start — variance directly extends total wall-clock time.
Does raising parallelism always reduce completion time?
Only up to the point where the cluster has spare capacity to actually run that many pods concurrently — beyond that, extra parallelism just means more pods sit Pending waiting for resources.
How is this different from a CronJob?
A Job runs once until it reaches its target completions; a CronJob creates a new Job on a repeating schedule. Use the CronJob schedule calculator to plan recurring runs.