$wgDBname<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.cablefree.net/support/radio/software/index.php?action=history&amp;feed=atom&amp;title=Manual%3AQueue_Size</id>
	<title>Manual:Queue Size - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.cablefree.net/support/radio/software/index.php?action=history&amp;feed=atom&amp;title=Manual%3AQueue_Size"/>
	<link rel="alternate" type="text/html" href="https://www.cablefree.net/support/radio/software/index.php?title=Manual:Queue_Size&amp;action=history"/>
	<updated>2026-06-10T12:28:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.3</generator>
	<entry>
		<id>https://www.cablefree.net/support/radio/software/index.php?title=Manual:Queue_Size&amp;diff=770&amp;oldid=prev</id>
		<title>Administrator: Created page with &quot;{{Versions|2.9, v3, v4}}  __TOC__  ==Queue Size Example==  This example was created to highlight queue size impact on traffic that was queued by specific queue.   In CableFree...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.cablefree.net/support/radio/software/index.php?title=Manual:Queue_Size&amp;diff=770&amp;oldid=prev"/>
		<updated>2015-11-24T10:17:49Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Versions|2.9, v3, v4}}  __TOC__  ==Queue Size Example==  This example was created to highlight queue size impact on traffic that was queued by specific queue.   In CableFree...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Versions|2.9, v3, v4}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Queue Size Example==&lt;br /&gt;
&lt;br /&gt;
This example was created to highlight queue size impact on traffic that was queued by specific queue. &lt;br /&gt;
&lt;br /&gt;
In CableFree RadioOS queue size can be specified in the &amp;quot;/queue type&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
In real time environment this process is happening continuously without any stops, steps or other interruptions, but in order to show it as an example we will divide it into steps, where it is possible to know exactly how many packets will be received/transited in every step.&lt;br /&gt;
&lt;br /&gt;
We will not go into specific details of TCP and dropped packet retransmission - consider these packets as simple UDP stream.&lt;br /&gt;
&lt;br /&gt;
[[Image:Queue_size_No_Limit.PNG|700px|Queue Size Example]]&lt;br /&gt;
&lt;br /&gt;
As you can see in the picture above there are &amp;#039;&amp;#039;&amp;#039;25 steps&amp;#039;&amp;#039;&amp;#039; and there are total of &amp;#039;&amp;#039;&amp;#039;1610 incoming packets&amp;#039;&amp;#039;&amp;#039; over this time frame.&lt;br /&gt;
&lt;br /&gt;
==100% Shaper==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Lets apply &amp;#039;&amp;#039;&amp;#039;max-limit=100 packets per step&amp;#039;&amp;#039;&amp;#039; limitation to our example: &lt;br /&gt;
&lt;br /&gt;
[[Image:Queue_size_0_packets.PNG|700px|100% Shaper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this type of limitation only 1250 out of 1610 packets were able to pass the queue (&amp;#039;&amp;#039;&amp;#039;22,4% packet drop&amp;#039;&amp;#039;&amp;#039;), but all packets arrive without delay.&lt;br /&gt;
&lt;br /&gt;
==100% Scheduler==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
We will again use same limit (&amp;#039;&amp;#039;&amp;#039;100 packets per step&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
[[Image:Queue_size_Unlimited_Packets.PNG|700px|100% Scheduler]]&lt;br /&gt;
&lt;br /&gt;
There was no packet loss, but 630 &amp;#039;&amp;#039;&amp;#039;(39,1%) packets had 1 step delay&amp;#039;&amp;#039;&amp;#039;, and other 170 &amp;#039;&amp;#039;&amp;#039;(10,6%) packets had 2 step delay&amp;#039;&amp;#039;&amp;#039;. (delay = latency)&lt;br /&gt;
&lt;br /&gt;
==Default-small queue type==&lt;br /&gt;
&lt;br /&gt;
It is also possible to choose the middle way, when queue use both of these queuing aspects (shaping and scheduling) &lt;br /&gt;
By default most of the queues in RadioOS have queue size of 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Queue_size_10_packets.PNG|700px|Default-small]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There were 320 &amp;#039;&amp;#039;&amp;#039;(19,9%) packets dropped&amp;#039;&amp;#039;&amp;#039; and 80 &amp;#039;&amp;#039;&amp;#039;(5,0%) packets had 1 step delay&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Default queue type==&lt;br /&gt;
&lt;br /&gt;
Other popular queue size in RadioOS is 50&lt;br /&gt;
&lt;br /&gt;
[[Image:Queue_size_50_packets.PNG|700px|Default]]&lt;br /&gt;
&lt;br /&gt;
There were 190 &amp;#039;&amp;#039;&amp;#039;(11,8%) packets dropped&amp;#039;&amp;#039;&amp;#039; and 400 &amp;#039;&amp;#039;&amp;#039;(24,8%) packets had 1 step delay&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
[[Category:Manual|Queuessize]]&lt;br /&gt;
[[Category:QoS|Queuessize]]&lt;br /&gt;
[[Category:Case Studies|Queuessize]]&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
</feed>