MikroTik Bandwidth Calculator (Simple Queue, Burst, PCQ, FQ-CoDel)
Calculate Limit-At (CIR), Max-Limit (MIR), Burst, PCQ, and FQ-CoDel for RouterOS v7 with automated configuration script generation.
Input Parameters
Calculation Results
- mode
- simple
- targetNormalized
- 192.168.88.0/24
- targetType
- cidr
- users
- 30
- activeUsers
- 15
- headroomPct
- 95
- totalDownMbps
- 95
- totalUpMbps
- 38
- totalDownRos
- 95M
- totalUpRos
- 38M
- burstOn
- true
- burstTimeSec
- 8
- pcqTotalLimitKiB
- 2000
- down
- {"cirMbps":3.167,"maxMbps":6.333,"burstMbps":9.5,"thresholdMbps":4.75,"effectiveBurstDurationSec":4,"cirRos":"3167k","maxRos":"6333k","burstRos":"9500k","thresholdRos":"4750k"}
- up
- {"cirMbps":1.267,"maxMbps":2.533,"burstMbps":3.8,"thresholdMbps":1.9,"effectiveBurstDurationSec":4,"cirRos":"1267k","maxRos":"2533k","burstRos":"3800k","thresholdRos":"1900k"}
# =====================================================================
# InfraCalc.id — MikroTik Simple Queue + Burst | RouterOS v7
# Dibuat: 2026-11-06 | Target: 192.168.88.0/24 | Klien: 30
# Total shaping: 95M down / 38M up (headroom 95%)
# Tool: https://infracalc.web.id/id/tools/mikrotik-queue-calculator
# =====================================================================
# PENTING: queue tidak memproses trafik FastTrack. Nonaktifkan bila perlu:
# /ip firewall filter disable [find action=fasttrack-connection]
/queue simple
add name="ST-TOTAL" target=192.168.88.0/24 max-limit=38M/95M comment="InfraCalc.id - parent total bandwidth"
# Queue per klien: 192.168.88.2 s/d 192.168.88.31
{
:local base [:toip "192.168.88.0"]
:for i from=2 to=31 do={
/queue simple add name=("ST-Client-" . $i) target=(($base + $i) . "/32") parent="ST-TOTAL" limit-at=1267k/3167k max-limit=2533k/6333k burst-limit=3800k/9500k burst-threshold=1900k/4750k burst-time=8s/8s comment="InfraCalc.id - client queue"
}
}
# Verifikasi: /queue simple print stats | /queue tree print statsHow to Use This Tool
- Enter the target network in CIDR notation (e.g. 192.168.88.0/24) or an interface name (e.g. bridge-lan), along with your ISP Download/Upload speeds and total client count.
- Select the queue mode (Simple Queue + Burst, PCQ, or FQ-CoDel), active concurrency ratio, ISP shaping headroom percentage (95% recommended), and Burst settings.
- Review the computed Limit-At (CIR), Max-Limit (MIR), Burst-Limit, effective burst duration, and configuration warnings, then copy the RouterOS v7 script into your terminal.
Worked Example: Office 30 Clients (100/40 Mbps Simple Queue)
Computed example: A 100/40 Mbps ISP link with 95% headroom yields a parent queue of 95M down / 38M up. Across 30 clients (15 concurrent), each client receives CIR 3167k down / 1267k up, Max-Limit 6333k down / 2533k up, and Burst-Limit 9500k for an effective 4 seconds.
{
"target": "192.168.88.0/24",
"down": 100,
"up": 40,
"users": 30,
"concurrency": 50,
"mode": "simple",
"burstPct": 150,
"thresholdPct": 75,
"burstTime": 8,
"headroom": 95,
"startHost": 2,
"parentName": "ST-TOTAL"
}- mode:
- simple
- targetNormalized:
- 192.168.88.0/24
- targetType:
- cidr
- users:
- 30
- activeUsers:
- 15
- headroomPct:
- 95
- totalDownMbps:
- 95
- totalUpMbps:
- 38
- totalDownRos:
- 95M
- totalUpRos:
- 38M
- burstOn:
- true
- burstTimeSec:
- 8
- pcqTotalLimitKiB:
- 2000
- down:
- {"cirMbps":3.167,"maxMbps":6.333,"burstMbps":9.5,"thresholdMbps":4.75,"effectiveBurstDurationSec":4,"cirRos":"3167k","maxRos":"6333k","burstRos":"9500k","thresholdRos":"4750k"}
- up:
- {"cirMbps":1.267,"maxMbps":2.533,"burstMbps":3.8,"thresholdMbps":1.9,"effectiveBurstDurationSec":4,"cirRos":"1267k","maxRos":"2533k","burstRos":"3800k","thresholdRos":"1900k"}
Core Concept & Engineering Notes
How It Was Calculated (Formulas & Steps)
Mathematical Formulas
- Shaped Parent Bandwidth = ISP Bandwidth × (Headroom ÷ 100)
- Active Concurrent Clients = ceil(Total Clients × (Concurrency ÷ 100))
- Limit-At (CIR) = Shaped Bandwidth ÷ Total Clients
- Max-Limit (MIR) = min(Shaped Bandwidth, Shaped Bandwidth ÷ Active Clients)
- Burst-Limit = Max-Limit × (Burst Multiplier ÷ 100)
- Burst-Threshold = Max-Limit × (Threshold % ÷ 100)
- Effective Burst Duration = (Burst-Time × Burst-Threshold) ÷ Burst-Limit
Step-by-Step Calculation
- Shaped parent bandwidth (95% headroom): Download = 100 × 0.95 = 95.00 Mbps (95M), Upload = 40 × 0.95 = 38.00 Mbps (38M)
- Active concurrent users (50% of 30) = ceil(30 × 0.5) = 15 active clients
- Download per client: Limit-At (CIR) = 95.00 / 30 = 3.167 Mbps (3167k); Max-Limit (MIR) = 95.00 / 15 = 6.333 Mbps (6333k)
- Download Burst: Burst-Limit = 9.5 Mbps (9500k), Burst-Threshold = 4.75 Mbps (4750k), Effective duration = (8s × 4.75) / 9.5 = 4s
Frequently Asked Questions (FAQ)
Why must Limit-At (CIR) and Max-Limit (MIR) be configured separately in MikroTik?
Limit-At (CIR) is the guaranteed minimum bandwidth floor when the link is congested; the sum of all child Limit-At values must not exceed the parent Max-Limit. Max-Limit (MIR) is the ceiling a client can reach when spare parent bandwidth is available.
How is the effective Burst duration calculated in MikroTik?
MikroTik averages throughput over the Burst-Time sliding window. Starting from an idle state (0 bps) and pulling at full Burst-Limit, the effective burst duration before the window average hits Burst-Threshold is (Burst-Time × Burst-Threshold) ÷ Burst-Limit.
When should I choose PCQ or FQ-CoDel over per-IP Simple Queues?
Use per-IP Simple Queues when you need strict per-host CIR guarantees and per-IP traffic graphs (up to ~50–100 clients). Use PCQ on large DHCP/Hotspot subnets (hundreds of users) to minimize CPU load, or FQ-CoDel in RouterOS v7 to eliminate bufferbloat for gaming and VoIP with a single parent queue.
Why is my Simple Queue not limiting client traffic at all?
The most common cause is an active `action=fasttrack-connection` firewall filter rule. FastTracked packets bypass Simple Queues and `parent=global` Queue Trees completely. Disable the FastTrack rule or exclude your shaped subnets from FastTrack.
Related Calculators
Multi-WAN (2–5 ISP) proportional PCC load balancing and recursive failover configuration script generator for RouterOS v7.
Prioritize WhatsApp calls, Zoom/Teams conferences, and gaming latency above bulk downloads using RouterOS v7 FQ-CoDel Queue Trees.
Calculate IPv4 network address, broadcast, usable host range, netmask, wildcard, binary mask, and RFC address type (RFC 1918, /31, CGNAT).
References & Notes
- MikroTik RouterOS v7 Documentation — Queues (Simple Queue, PCQ, HTB)
- RFC 8290 — The FlowQueue-CoDel Packet Scheduler and Active Queue Management Algorithm
Note: Results above are mathematical estimates based on standard formulas. Always verify against official vendor documentation and site conditions before production deployment.