Manual:Queues - PCQ

From MikroTik Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


PCQ was introduce to optimize massive QoS systems where most of the queues was exactly the same only for different sub-streams. For example a sub-stream can be download or upload for one particular client (IP) of connection to server.

PCQ algorithm is very simple - at first it uses selected classifiers to distinguish one sub-stream from another, then applies individual FIFO queue size and limitation on every sub-stream (witch is exactly the same for every sub-stream), then group all sub-streams together and apply global FIFO queue size and limitation.

PCQ parameters:

  • pcq-classifier (dst-address | dst-port | src-address | src-port; default: "")  : selection of sub-stream identifiers
  • pcq-rate (number) : maximal available data rate of each sub-steam
  • pcq-limit (number) : queue size of one sub-stream in packets
  • pcq-total-limit (number) : queue size of global FIFO queue

PCQ Algorithm

So instead of having 100 queues with 1000kbps limitation for download we can have one PCQ queue with 100 sub-streams

Classification Examples

To better understand classification we will take a list of 18 packet streams from specific address and port to a specific address and port. Then we will choose a classifier and divide all 18 packet streams into PCQ sub-streams



PCQ Rate Examples

Here it is possible to see what happened if PCQ-rate is or isn't specified. I must note that if both limits (pcq-rate and max-limit) are unspecified, queue behavior can be imprecise. So it is strongly suggested to have at least one of these options specified.