Skip to content
Calcrivo

Queue Depth Calculator

Size an interface queue for a target latency and check the M/M/1 wait time at your utilisation.

Inputs

Mbit/s
ms
bytes

Queue Depth

417packets

Queue Size

610 KiB

M/M/1 Average Queue Length

3.20packets

Serialisation Time Per Packet

0.0120ms

Average Queuing Delay

0.0384ms

Step by step

  1. Values used

    Link speed = 1,000 Mbit/s; Target queuing latency = 5 ms; Average packet size = 1,500 bytes; Link utilisation (0–0.99) = 0.8000

  2. Queue Depth

    queue bytes = link rate × target latency ÷ 8, and queue packets = queue bytes ÷ average packet size.

  3. M/M/1 average queue

    M/M/1 queue length = ρ² ÷ (1 − ρ)

  4. Queue Depth

    = 417 packets

  5. Queue Size

    = 625,000

  6. M/M/1 Average Queue Length

    = 3.20 packets

  7. Serialisation Time Per Packet

    = 0.0120 ms

  8. Average Queuing Delay

    = 0.0384 ms

How it works

A queue's depth is best expressed in time: bytes divided by the drain rate. Sizing it from a latency target keeps worst-case delay bounded, while the M/M/1 result shows the average queue that random arrivals actually build at your utilisation. Queue length grows without bound as utilisation approaches 1 — at 90% load the average queue is nine times what it is at 50% — which is why latency-sensitive links are engineered well below capacity.

Formulas

Queue Depth

queue bytes = link rate × target latency ÷ 8, and queue packets = queue bytes ÷ average packet size.

target latency
Maximum queuing delay you will tolerate, in seconds
link rate
Interface speed in bits per second

M/M/1 average queue

M/M/1 queue length = ρ² ÷ (1 − ρ)

ρ
Offered load as a fraction of capacity
queue length
Mean packets waiting, excluding the one in service

Frequently Asked Questions

How is Queue Depth calculated?

queue bytes = link rate × target latency ÷ 8, and queue packets = queue bytes ÷ average packet size. A queue's depth is best expressed in time: bytes divided by the drain rate. Sizing it from a latency target keeps worst-case delay bounded, while the M/M/1 result shows the average queue that random arrivals actually build at your utilisation.

Why does Queue Depth matter?

Queue length grows without bound as utilisation approaches 1 — at 90% load the average queue is nine times what it is at 50% — which is why latency-sensitive links are engineered well below capacity.

What values do I need to enter?

This calculator takes 4 inputs: Link speed, Target queuing latency, Average packet size, Link utilisation (0–0.99). The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

You might also need