Take the flow further.

How much can it take? What makes it flow?
Change the conditions and see how the system behaves.

FLOW LABQueue simulator

LIVE / BROWSER LOCAL
COMPLETED0Elapsed 0.0 s
SYSTEM MODE16 WORKERS16 in parallel
QUEUE / FILL0%
01 / QUEUE02 / WORKERS03 / COMPLETE
Total accepted0
Waiting in queue0
Running0
Total turned away0
Active workers16 / 16

Start by changing a setting and watch how the queue fills.

READ THE FLOW

Plenty of headroom

Comparing the arrival rate with processing capacity.

Configured capacity16.0 tasks/s
Completion rate, last 10 s0.0 tasks/s
Average queue wait0.0 s
Total requested0 tasks

Queue length over time

Last 60 s / every second
512060 s agoNow
Waiting in queueCurrent capacity

Lowering capacity never discards tasks already accepted. New tasks are simply turned away until there is room.

This model runs entirely in your browser. It cannot predict real cloud costs, network behavior or CPU performance. It pauses when off screen or in a background tab. Nothing you enter is saved or sent.

Assumptions, and how to read the numbers

First come, first served, to whichever worker is free.

Tasks arrive at a steady interval and run from a FIFO (first in, first out) queue. Each worker processes one task at a time. A task’s duration is fixed by the setting at the moment it starts. Network time and contention between workers are not modeled.

Queue capacity is the maximum number of waiting tasks. When every execution slot and the queue are full, new tasks are turned away and added to the turned-away count. The simulator does not resend them automatically.

Changing the duration doesn’t affect tasks already running; they finish on their original time. Lowering parallelism doesn’t interrupt running tasks either, so for a while the number running can exceed the setting.

Configured capacity is parallelism ÷ duration. The completion rate is the number of tasks completed in the last 10 seconds divided by that time; during the first 10 seconds, the time elapsed so far is used. Average wait is the mean time started tasks spent in the queue. Everything is calculated in this page’s simulation time.

Even when arrivals match capacity, real services congest because of variance in processing time and other factors. This model is for exploring design ideas, not a performance guarantee for any real environment.