Queue Size Example
In Mikrotik RouterOS queue size can be specified in the "/queue type" menu. Each queue type have a different option for specifying queue size (pfifo-limit, bfifo-limit, pcq-limit, pcq-total-limit, red-limit), but all principles are the same - queue size is main option that decide should the package be dropped or scheduled for later time.
We will not go into specific details of TCP and dropped packet retransmission - consider these packets as simple UDP stream.
As you can see in the picture above there are 25 steps and there are total of 1610 incoming packets over this time frame.
Queue is 100% shaper when every packet that is over allowed limits will be dropped immediately. This way all packages that are not dropped will be sent out without any delay.
Lets apply max-limit=100 packets per step limitation to our example:
With this type of limitation only 1250 out of 1610 packets were able to pass the queue (22,4% packet drop), but all packets arrive without delay.
Queue is 100% Scheduler when there is no packet drops at all, all packets are queued and will be sent out at the first possible moment.
In each step queue must send out queued packets from previous steps first and only then sent out packets from this step, this way it is possible to keep right sequence of packets.
We will again use same limit (100 packets per step)
There was no packet loss, but 630 (39,1%) packets had 1 step delay, and other 170 (10,6%) packets had 2 step delay. (delay = latency)
Default-small queue type
It is also possible to choose the middle way, when queue use both of these queuing aspects (shaping and scheduling) By default most of the queues in RouterOS have queue size of 10.
There were 320 (19,9%) packets dropped and 80 (5,0%) packets had 1 step delay.
Default queue type
Other popular queue size in RouterOS is 50
There were 190 (11,8%) packets dropped and 400 (24,8%) packets had 1 step delay.