RadiusNest › Guides

MikroTik simple queue vs queue tree

Last updated: 2 October 2026

MikroTik has two places to limit speed: simple queues and the queue tree. Both use the same engine underneath. They differ in how you tell the router which traffic a limit applies to, and that decides which one suits your job.

Before you change a live router: take a backup (how) and turn on Safe Mode in Winbox, so a mistake that locks you out is undone by itself.

Simple queues

A simple queue names its traffic by a target: an address, a network or an interface. One line limits both directions.

/queue simple add name=ali-laptop target=192.168.88.10/32 max-limit=2M/5M
/queue simple add name=guests target=192.168.20.0/24 max-limit=5M/20M

max-limit=2M/5M is upload/download for the target. Nothing else is needed: no firewall marks, no second rule for the other direction. More examples are in bandwidth limit per user.

Order matters in simple queues

Simple queues are read from the top, and a packet is handled by the first queue whose target matches. If a queue for the whole network sits above a queue for one address in it, the single address never reaches its own queue.

/queue simple print
/queue simple move [find name=ali-laptop] 0

Rule of thumb: single addresses on top, networks below. The exception is a parent and its children: a queue with parent= set is checked inside its parent, not in the main list.

Queue tree

A queue tree does not look at addresses. It limits packets that carry a packet mark, which you put on them with firewall mangle rules. Each tree works in one direction only, so download and upload are built separately.

Example: a 50 Mbps line shared by an office network and a guest network. The office is guaranteed 30 Mbps of download and goes first; guests are guaranteed 10 Mbps; either may use the whole line when the other is quiet.

/ip firewall mangle
add chain=forward dst-address=192.168.10.0/24 action=mark-packet new-packet-mark=office-down passthrough=no
add chain=forward dst-address=192.168.20.0/24 action=mark-packet new-packet-mark=guest-down passthrough=no

/queue tree
add name=download parent=global max-limit=50M
add name=office-down parent=download packet-mark=office-down limit-at=30M max-limit=50M priority=1
add name=guest-down parent=download packet-mark=guest-down limit-at=10M max-limit=50M priority=8

limit-at is the guaranteed speed, max-limit the most a queue may reach, and priority (1 is first, 8 is last) decides who gets the spare capacity first. Upload needs the same again with src-address marks and a second parent. The order of queue tree entries does not matter; the marks decide.

Side by side

Simple queueQueue tree
Picks traffic byTarget address, network or interfacePacket marks from mangle rules
DirectionsBoth in one lineOne per tree
Order of entriesMatters: first match winsDoes not matter
Setup effortLowHigher: marks plus queues
Limit by type of traffic (port, protocol)Only with packet marks addedNatural
Used by hotspot and PPPoE loginsYes, made automaticallyNo
Many hundreds of entriesFine on current RouterOS; watch the processorFine; the mangle rules cost processor too

Which to use

  • A limit per device or per customer: simple queues.
  • The same limit for everyone on a network: one simple queue with PCQ.
  • Priorities between kinds of traffic, such as calls before downloads, or several networks sharing one line with guarantees: queue tree.
  • Hotspot and PPPoE customers: neither by hand. The router makes a simple queue per session from the profile.

Both kinds are skipped by FastTrack. If a limit has no effect, read queues not working before changing anything else.

Where RadiusNest fits

For paying customers on hotspot or PPPoE you rarely build either kind yourself. With RadiusNest the speed belongs to the customer's package, and the router creates the simple queue at login and removes it at logout. A queue tree for priorities across your whole line is still yours to design on the router; RadiusNest does not touch it.

Start the free trial See pricing

Questions and answers

Is a queue tree faster than simple queues?

On old RouterOS versions it was for long lists. On current versions both cope with many entries; the mangle rules a queue tree needs also use processor.

Can I use simple queues and a queue tree together?

Yes, but a packet can then be limited twice and the result is hard to follow. Pick one method for each kind of traffic.

Why does my second simple queue never count any traffic?

A queue above it matches the same traffic first. Move the more specific queue to the top of the list.

Related guides

Start the free trial See pricing