Per Connection Queue (PCQ) is useful when you want a large group of users to share available bandwidth more fairly without building a separate queue for every individual flow. PCQ is not a magic anti-lag switch: good results still depend on correct total bandwidth values, classifiers, queue placement, and avoiding CPU overload.
Video walkthrough
What PCQ actually does
PCQ creates sub-queues dynamically based on a classifier such as source address or destination address. For internet download shaping, the destination address commonly identifies the subscriber receiving traffic. For upload shaping, the source address commonly identifies the subscriber sending traffic. The exact design depends on where the queue is attached.
Start with measured usable capacity
Do not shape at a number that exists only on the ISP plan. Measure stable throughput during normal and busy periods. If a 1 Gbps link realistically delivers 920 Mbps under load, setting a queue to exactly 1 Gbps may allow upstream buffers to fill before MikroTik can control the traffic. Leave sensible headroom and monitor latency while saturating the connection.
Example PCQ queue types
The following example creates simple PCQ queue types with a per-subscriber limit. Treat the rates only as examples.
/queue type add name=pcq-download kind=pcq pcq-classifier=dst-address pcq-rate=20M
/queue type add name=pcq-upload kind=pcq pcq-classifier=src-address pcq-rate=10MWhere you apply them matters as much as the queue types themselves. Simple Queues, Queue Tree, and PPP rate limits have different processing paths and operational tradeoffs.
Fairness versus guaranteed service
PCQ is good for fairness and scalable dynamic sharing. It does not automatically create strict service guarantees for every subscriber when the upstream is oversubscribed. If plans require minimum guarantees, business-priority classes, or separate latency-sensitive traffic, design those requirements explicitly instead of assuming PCQ will infer them.
Watch the router, not only the speed test
During peak load, monitor CPU usage, interface drops, queue drops, latency, and active session count. A configuration that works for 20 users may behave differently with hundreds. Hardware offload, FastTrack, firewall complexity, and queue design can all change the load on the router.
A practical test
Run a controlled download that fills most of the WAN, then ping a stable external target from multiple clients. If latency rises dramatically, reduce the shaped ceiling slightly and verify the queue is actually seeing the traffic. Repeat for upload. The goal is not the highest possible speed-test number; the goal is predictable performance while the link is busy.
Frequently asked questions
Is PCQ better than Simple Queue?
They solve different problems. PCQ is a queue type that can be used inside queue structures; Simple Queue is one queue mechanism. The best design depends on subscriber count and traffic path.
Can PCQ fix bad fiber or upstream congestion?
No. Queues can manage local congestion but cannot repair physical faults or congestion inside another network.
Should I enable FastTrack with queues?
Check your design carefully. FastTrack can bypass parts of normal packet processing and may prevent some queue methods from seeing the traffic you intended to shape.
Next step
Document the result of your test and keep a known-good export. If your network behaves differently from the example, diagnose the topology rather than adding more rules blindly. Continue with a related guide from the tutorial library.