Jenkins Queue Scheduling Latency under Concurrent Request Loads
0 reputation · 05 Jul 2021, 15:44 UTC
Single-Threaded Queue Behavior
Jenkins manages job scheduling through a centralized queue system. Documented behavior indicates that the queue is single-threaded, meaning items are dequeued and scheduled one at a time. This mechanism remains consistent across Jenkins 2.x releases.
Concurrency Constraints
When a high volume of builds is triggered simultaneously via the REST API or UI, the master thread handles both the request processing and the queue management. This creates a bottleneck where idle executors on multiple nodes may remain unused while the master sequentially processes the queue items.
While the Throttle Concurrent Builds plugin can limit executions per job or label, it operates on top of the existing queue rather than modifying the underlying scheduling architecture.
Technical Uncertainties
- Is there a documented configuration to enable parallel dequeuing for high-throughput environments?
- At what threshold of concurrent requests does the single-threaded queue become the primary driver of build start latency compared to executor availability?