{{ result.summaryTitle }}
{{ result.primary }}
{{ result.summaryLine }}
{{ badge.label }}
Queue buffer delay inputs
Use the queue or interface buffer that can fill before packets are dropped or marked.
Interactive paths often use tighter targets than bulk transfer queues.
ms
Use 100% for a worst-case tail-drop queue, or a lower observed busy-period fill level.
%
Leave as a rough path RTT when you only need delay drain math.
ms
1500 bytes is a common Ethernet MTU; use a lower value for shaped voice or tunnel payloads.
bytes
Use reserve when the configured queue granularity cannot hit the exact delay budget.
%
Budget metricValueReadoutCopy
No budget rows available.
{{ row.metric }}{{ row.value }}{{ row.readout }}
Delay ceilingAllowed bufferCurrent marginTuning noteCopy
No tuning rows available.
{{ row.ceiling }}{{ row.allowedBuffer }}{{ row.currentMargin }}{{ row.note }}
Customize
Advanced
:

Introduction:

Queue buffer delay is the waiting time created when packets sit in a bottleneck queue before the link can transmit them. A buffer that looks small in storage terms can add a large amount of latency on a slow or shaped link, because every queued byte must drain at the link's bit rate. That delay can make calls, games, remote shells, video meetings, and interactive applications feel slow even when raw throughput looks acceptable.

The calculator answers a focused planning question: how much delay does the selected buffer size create at the selected egress rate, and how does that compare with a delay target? It converts KiB, MiB, GiB, or decimal MB into bytes, converts Kbps, Mbps, or Gbps into bits per second, and returns full-buffer drain delay, an occupancy-weighted busy-period estimate, target buffer size, target margin, packet depth, serialization time, and a bandwidth-delay product comparison when baseline round-trip time is supplied.

Diagram showing packet arrivals entering a finite buffer, a bottleneck link draining the queue, and a target delay ceiling

Use it before changing a shaper, interface queue, virtual appliance limit, WAN handoff, or lab traffic generator. The result does not measure the live path. It turns the numbers you supply into a repeatable estimate so you can see whether a queue can plausibly stay inside a latency budget before you run a field test.

A large buffer is not always wrong. Bulk transfer queues can tolerate more waiting than voice, game, control-plane, or remote-console traffic. The useful question is whether the queue size, link rate, average occupancy, and target delay match the service class you are protecting.

Technical Details:

Queueing delay is drain time. Once bytes are already sitting in the buffer, the queue can empty only as fast as the bottleneck egress rate allows. The calculator therefore treats buffer size as stored bytes, link rate as bits per second, and delay as the time needed to transmit the queued bits.

That simple relation is also why shaped links can expose bufferbloat. A buffer sized for a fast physical port can become too deep after traffic is shaped to a lower WAN, VPN, or provider handoff rate. When the queue fills, other packets sharing that egress path wait behind the stored bytes and see added latency.

Formula Core:

The primary equation converts the selected buffer to bits and divides by the selected link rate. The occupancy estimate uses the same full-buffer delay, scaled by the average filled share entered by the user.

Dfull = Bbuffer×8×1000Rlink Dbusy = Dfull×occupancy100 Btarget = Rlink×Dtarget8000 BDP = Rlink×RTT8000
Queue buffer delay variables and units
Quantity Meaning Unit handling
Buffer size Configured queue depth that can fill before packets are dropped or marked. KiB, MiB, and GiB use powers of 1024; MB uses powers of 1000.
Link rate Sustained bottleneck rate that drains the queue. Kbps, Mbps, and Gbps are decimal bits per second.
Delay target Maximum queueing delay you are willing to allow when the queue is occupied. Milliseconds.
Average occupancy Expected filled share during busy periods. 0% to 100%.
Baseline RTT Round-trip time used to compare the buffer with a BDP reference. Milliseconds; 0 disables the BDP ratio.
Packet size Representative packet or MTU size for packet depth and serialization time. At least 64 bytes.

The status badge is driven by the full-buffer delay first. A queue that takes more than twice the target to drain receives the highest risk label. A queue that is above the target but not above twice the target receives a trim warning. If the full-buffer delay is inside the target, the occupancy-weighted estimate is still useful for busy-period planning, but it does not make a too-deep buffer disappear.

Queue delay status thresholds
Condition Summary title Badge Planning meaning
Full delay > 2 x target Full queue exceeds target high bufferbloat risk The queue is deep enough to add much more latency than the selected budget allows.
Full delay > target Full queue crosses target trim buffer The configured queue is larger than the current delay ceiling permits.
Busy delay > target Busy queue crosses target watch occupancy The average fill assumption is the value to check against real queue telemetry.
Delay inside target Queue delay inside target inside target The selected buffer and rate stay within the chosen full-queue delay budget.

The tuning table repeats the target-buffer calculation for common delay ceilings of 5, 10, 20, 50, 100, and 200 ms, plus the custom target when it is different. For each ceiling, it reports the allowed buffer, the current margin, and either spare capacity or the amount that would need to be trimmed. Target reserve adds optional slack to the target-buffer readout when device queue granularity cannot hit the exact byte count.

The delay curve plots buffer size against full-buffer and occupancy-weighted delay. It is a planning curve, not a traffic capture. Use it to see how quickly delay rises when buffer size increases or link rate falls, then validate the final setting with queue telemetry, loaded latency, or a controlled throughput test.

Everyday Use & Decision Guide:

Start with the rate that really drains the queue. On a shaped WAN, the shaper rate is usually more useful than the physical port speed. On a virtual router, tunnel endpoint, or firewall, use the sustained policy or appliance limit if that is lower than the interface rate. A buffer that is acceptable at 1 Gbps can add ten times as much delay when the same queue drains at 100 Mbps.

Choose the delay target from the traffic you need to protect. Interactive traffic usually needs a tighter target than bulk transfer traffic. A 5 to 20 ms target is useful when the queue sits in front of voice, gaming, remote access, or control-plane paths. A 50 to 100 ms target may be acceptable for less sensitive backup or batch queues, but it should still be checked against the user's latency expectation.

  • Use 100% occupancy for a worst-case tail-drop queue or when you want to know the full drain time.
  • Use a lower occupancy value only when telemetry shows the queue normally runs below full during busy periods.
  • Set Baseline RTT when you want to compare queue depth with a path BDP reference.
  • Set Packet size to the dominant packet or MTU size when packet count and serialization time matter.
  • Use Target buffer reserve when hardware or software queue settings are available only in coarse steps.

The fastest sanity check is the summary line. It states the configured buffer, the link rate, the full-buffer drain time, the ratio to the target, and the occupancy-weighted estimate. If the ratio is far above 1, a full queue adds more latency than the selected budget permits. If the ratio is below 1, the queue fits the chosen full-buffer target.

Treat the export buttons as documentation aids. The budget and tuning tables can be copied or downloaded as CSV or DOCX, the delay curve can be saved as an image or CSV, and the JSON view captures the exact input and output values for tickets, change records, or lab notes.

Step-by-Step Guide:

  1. Enter Buffer size and choose the matching unit. Use the queue depth for the bottleneck egress, not an unrelated memory pool.
  2. Enter Link rate as the sustained rate that drains the queue. For shaped traffic, use the shaper rate.
  3. Set Delay target to the maximum queueing delay you want to tolerate when the queue is occupied.
  4. Set Average occupancy. Use 100% for worst-case planning or a measured busy-period fill percentage when you have reliable telemetry.
  5. Open Advanced when you need more context. Add Baseline RTT for the BDP comparison, Packet size for packet depth and serialization time, and Target buffer reserve when settings need slack.
  6. Read Queue Delay Budget first. Check full-buffer delay, occupancy-weighted delay, target buffer size, target margin, occupancy cap, packet serialization time, and BDP comparison.
  7. Open Buffer Tuning Table to compare the current buffer against common delay ceilings. Use the row nearest your service target as the proposed sizing line.
  8. Open Buffer Delay Curve when you need to show how delay changes as buffer size changes. Export the chart or JSON only after the inputs match the queue you intend to discuss.

Interpreting Results:

Full-buffer drain delay is the worst-case queueing delay for the selected buffer and rate. It is the number to compare with a strict latency budget because it assumes the queue is full. Occupancy-weighted delay answers a softer question: what delay would the same queue add if the busy-period fill averaged the entered percentage?

Target buffer for delay turns the delay target back into bytes. If the current buffer is larger than that byte count, the current full queue cannot meet the target at the selected rate. If it is smaller, the queue has spare room against the target. The Occupancy cap for target row shows how full the queue can be, on average, before the selected target is crossed.

How to read queue buffer delay outputs
Output Read it as Useful follow-up
Buffer margin vs target How many bytes the current buffer sits above or below the exact target buffer. Trim the configured queue or raise the target only if the service can tolerate the added delay.
BDP comparison How the queue size compares with rate multiplied by baseline RTT. A queue many times larger than BDP may add latency beyond normal path propagation.
Packet serialization time How long one representative packet takes to leave the bottleneck link. At very low rates, one packet can consume enough time to affect tight targets.
Buffer Delay Curve How full-buffer and occupancy-weighted delay rise as buffer size increases. Use the curve to choose a smaller queue step before changing production settings.

Do not read an inside-target result as a complete quality guarantee. Packet scheduling, flow fairness, active queue management, Explicit Congestion Notification marking, packet loss, CPU limits, wireless retries, and competing traffic can still affect real latency. The calculation gives a queue-depth budget; operational validation still needs measured loaded latency and device counters.

Worked Examples:

Default WAN buffer that is much too deep

A 16 MiB queue draining at 100 Mbps takes about 1,342 ms to empty when full. With an 85% occupancy assumption, the busy-period estimate is about 1,141 ms. A 50 ms target allows only about 610 KiB of buffer at that rate, so the current buffer is roughly 26.8 times the target delay and should be treated as high bufferbloat risk for interactive traffic.

Small queue on a fast link

A 512 KiB queue at 1 Gbps drains in about 4.19 ms. With a 20 ms target, the target buffer is about 2.38 MiB, so the configured queue stays inside the full-buffer budget. If the average occupancy is 50%, the busy-period delay estimate is about 2.10 ms.

Slow shaper with a modest byte count

A 256 KiB queue may sound modest, but at 10 Mbps it drains in about 210 ms. A 50 ms target allows about 61 KiB, so the queue is over the selected target even before other path delay is considered. This is the kind of case where using the shaped rate instead of the physical port rate changes the decision.

BDP context for a path with 40 ms RTT

At 500 Mbps and 40 ms RTT, the BDP reference is about 2.38 MiB. If the queue is 8 MiB, the BDP comparison is about 3.36x. That does not prove the queue is wrong by itself, but it tells you the queue can hold several RTTs of traffic and should be checked against the service's loaded-latency budget.

FAQ:

Why does the same buffer add more delay on a slower link?

The buffer holds bytes, but the link drains bits per second. When the drain rate falls, the same stored byte count takes longer to leave the queue.

Should I enter port speed or shaper speed?

Use the sustained rate that drains the queue. If a WAN shaper, VPN policy, provider handoff, or virtual appliance limit is lower than the port speed, use that lower rate.

What does average occupancy change?

It changes the busy-period delay estimate and the plotted occupancy-weighted curve. It does not change the full-buffer drain delay, which remains the worst-case value for the selected buffer and rate.

Why is baseline RTT optional?

The main queue delay calculation does not need RTT. Baseline RTT is used for the BDP comparison, which helps show whether the configured queue is small or large compared with the path's normal in-flight byte demand.

Does a target reserve change the delay result?

No. Reserve changes the target-buffer readout by adding slack to the exact byte count implied by the delay target. Full-buffer delay is still calculated from the selected buffer and link rate.

Does the calculator test my network?

No. It models queue delay from the values you enter in the browser. It does not run a speed test, send packets to the target path, or inspect device counters.

Glossary:

Queueing delay
Waiting time added while packets sit in a queue before transmission.
Bufferbloat
Excessive buffering that can add high latency when a queue fills.
Bottleneck link
The egress rate that limits how fast the queued data can drain.
BDP
Bandwidth-delay product, the amount of data represented by rate multiplied by round-trip time.
RTT
Round-trip time, the time for a packet and its response to traverse the path.
Serialization time
The time needed to transmit one packet at the selected link rate.
Occupancy
The filled share of the queue during the busy period being modeled.