New status queues page
-
any update when this page will display the interface then the queues?
For me now snapshot built on Wed Feb 13 16:46:49 EST 2013 (and few before that) shows interface and then queues, but only if I select scheduler type HFSC or CBQ. If I use scheduler FAIRQ or PRIQ then the interfaces are not shown.
![HFSC or CBQ.JPG](/public/imported_attachments/1/HFSC or CBQ.JPG)
![HFSC or CBQ.JPG_thumb](/public/imported_attachments/1/HFSC or CBQ.JPG_thumb)
![FAIRQ or PRIQ.JPG](/public/imported_attachments/1/FAIRQ or PRIQ.JPG)
![FAIRQ or PRIQ.JPG_thumb](/public/imported_attachments/1/FAIRQ or PRIQ.JPG_thumb) -
i'm using PRIQ :-(
-
Do we have an ETA when the new queue status page will be fully operational?
-
Hi Cino,
I just released a version that fixes the drops issue. The borrows/suspends should also be shown.
Btw, I will check also the other types of queues, I need to see what qstats saves in that cases.Ciao,
Michele -
Hey,
everything should be fixed in the next release…Ciao,
Michele -
Hey,
everything should be fixed in the next release…Ciao,
MicheleThank you Michele… The page looks sweet!
-
You're welcome Cino! Even if the best result is with a hierarchical queue scheduler type (see image).
I can't wait to implement version 2.1 in my production environment when it will be ready, so I can see it in action with real traffic!
Ciao,
Michele
-
the length field never gets populated
-
the length field never gets populated
well… which scheduler type are you using? And, please post your /tmp/qstats file, so we can take a look at it
-
CBQ
<altqstats><queue><name>root_pppoe0</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>0</priority> <pkts>5261</pkts><bytes>920848</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/50</qlength><borrows>0</borrows><suspends>0</suspends><measured>84.8</measured><measuredspeed>110.17Kb</measuredspeed><measuredspeedint>110173.5</measuredspeedint> <queue><name>qACK</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>6</priority> <qlimit>150</qlimit> <pkts>4552</pkts><bytes>186740</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/150</qlength><borrows>0</borrows><suspends>0</suspends><measured>74.4</measured><measuredspeed>24.40Kb</measuredspeed><measuredspeedint>24401.0</measuredspeedint></queue> <queue><name>qOthersDefault</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>4</priority> <qlimit>150</qlimit> <pkts>581</pkts><bytes>724307</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/150</qlength><borrows>507</borrows><suspends>0</suspends><measured>8.5</measured><measuredspeed>84.58Kb</measuredspeed><measuredspeedint>84575.1</measuredspeedint></queue> <queue><name>qP2P</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <qlimit>100</qlimit> <pkts>17</pkts><bytes>2234</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/100</qlength><borrows>0</borrows><suspends>0</suspends><measured>0.3</measured><measuredspeed>265.96 b</measuredspeed><measuredspeedint>266.0</measuredspeedint></queue> <queue><name>qVoIP</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>7</priority> <qlimit>120</qlimit> <pkts>8</pkts><bytes>752</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/120</qlength><borrows>0</borrows><suspends>0</suspends><measured>0.1</measured><measuredspeed>86.04 b</measuredspeed><measuredspeedint>86.0</measuredspeedint></queue> <queue><name>qOthersHigh</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>5</priority> <pkts>103</pkts><bytes>6815</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/50</qlength><borrows>0</borrows><suspends>0</suspends><measured>1.6</measured><measuredspeed>845.35 b</measuredspeed><measuredspeedint>845.4</measuredspeedint></queue></queue> <queue><name>root_vr0</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>0</priority> <pkts>10087</pkts><bytes>14014218</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/50</qlength><borrows>0</borrows><suspends>0</suspends><measured>164.6</measured><measuredspeed>1.84Mb</measuredspeed><measuredspeedint>1840151.0</measuredspeedint> <queue><name>qACK</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>6</priority> <qlimit>150</qlimit> <pkts>434</pkts><bytes>26388</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/150</qlength><borrows>0</borrows><suspends>0</suspends><measured>6.4</measured><measuredspeed>3.10Kb</measuredspeed><measuredspeedint>3098.7</measuredspeedint></queue> <queue><name>qOthersDefault</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>4</priority> <qlimit>150</qlimit> <pkts>9525</pkts><bytes>13916340</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/150</qlength><borrows>8409</borrows><suspends>0</suspends><measured>156.2</measured><measuredspeed>1.83Mb</measuredspeed><measuredspeedint>1827647.6</measuredspeedint></queue> <queue><name>qP2P</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <qlimit>100</qlimit> <pkts>115</pkts><bytes>70684</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/100</qlength><borrows>0</borrows><suspends>0</suspends><measured>1.8</measured><measuredspeed>9.30Kb</measuredspeed><measuredspeedint>9298.2</measuredspeedint></queue> <queue><name>qVoIP</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>7</priority> <qlimit>120</qlimit> <pkts>0</pkts><bytes>0</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/120</qlength><borrows>0</borrows><suspends>0</suspends><measured>0.0</measured><measuredspeed>0 b</measuredspeed><measuredspeedint>0.0</measuredspeedint></queue> <queue><name>qOthersHigh</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>5</priority> <pkts>13</pkts><bytes>806</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/50</qlength><borrows>0</borrows><suspends>0</suspends><measured>0.2</measured><measuredspeed>106.47 b</measuredspeed><measuredspeedint>106.5</measuredspeedint></queue></queue></altqstats>
-
Hi xbipin,
I was forcing my development pfSense to load your qstats output, and I can confirm you that the length field gets populated. The values "0/50", "0/150" and so on are the exact values that qstats reports as length of the queue.Probably you mean "why 0"? Because just there are not any packets in the queue, your internet connection is fast enough to handle the packets without "parking" them in the queue. Try to lower the bandwidth available in your root queue (try for example 1Mbit) and you will see some packets left in the queue.
Ciao,
Michele -
i tried lowering the download speed to 1mbps and i do see the length now getting populated but it seems the root queue doesnt populate, only the child queues do
-
also i modified the root queue length to 150 but it still shows 0/50 instead of 0/150, the child queue length show fine as configured
-
Ok, that works then!
About the root queue, it is normal, since each queue has his own length and is managed individually (I can't aggregate that data as I do for the rest of the statistics, it would not make any sense).
Ciao,
Michele -
so wouldnt it be better to simply remove length field from root queue
-
Well, qstats (the program that extracts the statistics from the queues) and the page (that reads/aggregate/shows that data) do not know which traffic is assigned to which queue. I can't exclude that the root queue can handle some traffic…
If someone in this forum can confirm that the root queue will not handle ANY traffic in ANY case I can just hide the field "length" for the root queue (it really takes a second)...
-
IIRC the root queue is just the definition for your queues. It's something like
altq on em1 hfsc bandwidth 5Mb queue { qACK, qDefault, qVoIP }
You cannot put anything in there, everything that is not classified goes into the default queue.
-
IIRC the root queue is just the definition for your queues. It's something like
altq on em1 hfsc bandwidth 5Mb queue { qACK, qDefault, qVoIP }
You cannot put anything in there, everything that is not classified goes into the default queue.
Ok, that's valid for HFSC, but for the other types of scheduler?
-
Schedulers are all defined the same way:
The syntax for the queue directive is: queue name [on interface] bandwidth bw [priority pri] [qlimit qlim] \ scheduler ( sched_options ) { queue_list }
(http://www.openbsd.org/faq/pf/queueing.html)
Edit:
pftop -v queue
also shows that nothing ever hits the root queue, at least here. It's only used to define the bandwidth of your interface.
-
Ok, but why can you set a "Queue Limit" in the root queue, since you're telling it's useless?
I mean, in the interface "Firewall: Traffic Shaper", there is a field to input the Queue Limit also for the root queue.If there is a reason for that field to be set for the root queue, there is also a reason for the Queue length to be visible in the "Status Queues" page… or am I wrong?