What's new

FlexQoS FlexQoS 1.0 - Flexible QoS Enhancement Script for Adaptive QoS

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

The real question is..... with a gigabit connection why even worry about QoS? :)
regardless of your connection speed once it reaches that the bufferbloat accumulates like every other connection. with thta high of connection its more likly there will be lower bottlnecks between you and destination and qos might need to be tweaked for them instead i would guess
 
Alright, screens for the requested settings are enclosed. I even tried classifying my PC's connection to the seedbox specifically as a file transfer, and nada.
You have over-allocated your download minimum bandwidths. The sum of all the download minimums should not exceed 100%. There is no bandwidth left for anything else by the time you get to Streaming in your priority list. These minimums are guaranteed to each class, so you are starving the remaining classes.
 
You have over-allocated your download minimum bandwidths. The sum of all the download minimums should not exceed 100%. There is no bandwidth left for anything else by the time you get to Streaming in your priority list. These minimums are guaranteed to each class, so you are starving the remaining classes.

Ah, interesting, I have changed these to add up to 100 now. Gave downloads 50% now and divvied the rest. Am seeing ~40MB/s, so maybe its working? And so if someone else is using even a small % of the network does that automatically kick in the limit?
 
Ah, interesting, I have changed these to add up to 100 now. Gave downloads 50% now and divvied the rest. Am seeing ~40MB/s, so maybe its working? And so if someone else is using even a small % of the network does that automatically kick in the limit?
That’s my understanding. I personally think allocating any class 50% minimum is too much, as a general rule, especially when it’s far down the list of priorities.
 
During my tests I saw that only as much bandwidth is reserved as needed. The sum-up min limits only assure bandwidth if it would be exceeded, but if I reserve 50% for streaming and use only 20 then 80 are available for other classes. Tested with videostreaming and downloads for example.
 
That’s my understanding. I personally think allocating any class 50% minimum is too much, as a general rule, especially when it’s far down the list of priorities.

I would generally agree, except that on gigabit, the usual stuff doesn't need much bandwidth. In a 2 person household with 1 4K TV, streaming shouldn't need more than 5%. Neither should VOIP, regular browsing, etc. Large file downloads from extremely fast servers are the only things capable of using that much.

I may even give it more. When I'm downloading a 60GB file, <50MB/sec vs >100 makes a huge difference in wait time.
 
If there wasn't a lot of "borrowing" in QoS implementations, I don't think anyone would have QoS as a feature. Very hard to find all the information in one place.

My next deep dive is burst and cburst. What Asus does by default in A.QoS is take the rate and divide by 800 (8 bits per byte and 100 to get 1% of rate) to get the burst. They do the same thing with ceil to get the cburst. In all cases, they set the floor to 3200. But at larger rates and ceils, they seem to be rounding in a way I can't quite follow. Maybe it's time for an Excel spreadsheet...but not today...
Code:
Jul 12 14:33:10 kernel: DBG[add_htb_class:1527] class add dev br0 parent 1:1 classid 1:10 htb prio 0 rate 16128000bit ceil 322560000bit burst 19200 cburst 403200 quantum 201600
Jul 12 14:33:11 kernel: DBG[add_htb_class:1527] class add dev br0 parent 1:1 classid 1:11 htb prio 1 rate 64512000bit ceil 322560000bit burst 80000 cburst 403200 quantum 806400
Jul 12 14:33:11 kernel: DBG[add_htb_class:1527] class add dev br0 parent 1:1 classid 1:12 htb prio 2 rate 32256000bit ceil 322560000bit burst 40000 cburst 403200 quantum 403200
Jul 12 14:33:11 kernel: DBG[add_htb_class:1527] class add dev br0 parent 1:1 classid 1:13 htb prio 3 rate 16128000bit ceil 322560000bit burst 19200 cburst 403200 quantum 201600
Jul 12 14:33:12 kernel: DBG[add_htb_class:1527] class add dev br0 parent 1:1 classid 1:14 htb prio 4 rate 12896000bit ceil 322560000bit burst 16000 cburst 403200 quantum 161200
Jul 12 14:33:12 kernel: DBG[add_htb_class:1527] class add dev br0 parent 1:1 classid 1:15 htb prio 5 rate 9672000bit ceil 322560000bit burst 11200 cburst 403200 quantum 120900
Jul 12 14:33:13 kernel: DBG[add_htb_class:1527] class add dev br0 parent 1:1 classid 1:16 htb prio 6 rate 6448000bit ceil 322560000bit burst 8000 cburst 403200 quantum 80600
Jul 12 14:33:13 kernel: DBG[add_htb_class:1527] class add dev br0 parent 1:1 classid 1:17 htb prio 7 rate 3224000bit ceil 322560000bit burst 3200 cburst 403200 quantum 40300

Code:
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 2940 for 2352000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 2940 for 2352000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:10 kernel: DBG[add_htb_root:1608] class add dev eth0 parent 1: classid 1:1 htb rate 2352000bit ceil 2352000bit burst 3200 cburst 3200 quantum 235200
--
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 140 for 112000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 2940 for 2352000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:10 kernel: DBG[add_htb_class:1527] class add dev eth0 parent 1:1 classid 1:10 htb prio 0 rate 112000bit ceil 2352000bit burst 3200 cburst 3200 quantum 1400
--
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 2940 for 2352000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 2940 for 2352000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:10 kernel: DBG[add_htb_root:1663] class add dev eth0 parent 10: classid 10:1 htb rate 2352000bit ceil 2352000bit burst 3200 cburst 3200 quantum 235200
--
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 20 for 16000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 2940 for 2352000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:10 kernel: DBG[add_htb_class:1527] class add dev eth0 parent 10:1 classid 10:256 htb prio 3 rate 16000bit ceil 2352000bit burst 3200 cburst 3200 quantum 200
--
Jul 12 14:33:10 kernel: INFO[rate2burst:1392] Burst value 20 for 16000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:11 kernel: DBG[add_htb_class:1527] class add dev br0 parent 10:1 classid 10:256 htb prio 3 rate 16000bit ceil 322560000bit burst 3200 cburst 403200 quantum 200
--
Jul 12 14:33:11 kernel: INFO[rate2burst:1392] Burst value 580 for 464000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:11 kernel: INFO[rate2burst:1392] Burst value 2940 for 2352000 Bit/s is less than 3200, adjust to minimal.
Jul 12 14:33:11 kernel: DBG[add_htb_class:1527] class add dev eth0 parent 1:1 classid 1:11 htb prio 1 rate 464000bit ceil 2352000bit burst 3200 cburst 3200 quantum 5800
--
Since this script can modify the rate and ceil per class, it would make sense to recalculate the burst and cburst. FreshJR historically has kept the same burst and cburst as Asus defines before the script overrides the rate/ceil.
If you don't mind me asking since I've can't remember how it works, just as a refresher how would this affect a file transfer eg a download of a windows update or a steam download for example.

Aslo would this affect gaming traffic with or without a download on another device eg a secondary PC doing an update whilst someone is playing a game on a pc or Xbox console.
 
That’s my understanding. I personally think allocating any class 50% minimum is too much, as a general rule, especially when it’s far down the list of priorities.
agreed unless there is a special case scenario.. ideally youd have the minimums set to cover your expected steady needs for each category and totalling 100% between them all.

for example if you regularly have 30 people watching netflix in your household you may need it higher than 10% minimum so its garenteed to get the amounbd of data 30 peopel would require to run smoothly.. that doesnt mean it cant use more than that when available but will ensure there is enough data allocated for streaming to cover those clients.. it defaults to 30% which is reasonable. i run 10/10/10/10/10/10/20/20 the 20's are others and streaming. works perfectly for me

i use all the 10s for 2 reasons.. one so certain categorys dont get chocked when they need data and also because i have slower connection and it gets rid of the quantums are too small error in logs as well :)
 
@coxhaus
The upload is slower than the download he has a gig down but 35 up that's going to need QoS it's not like he's got 900/900 which is different.

I could see this if he was uploading a file but downloading the upload response is very small for the TCP. A gig connection should be a great testing place. You can different speeds and test.

I have many times before I doubt you need QoS with gig internet. With that being said if you use it you should be able to reach speeds of 200 or 300 meg so the downloads should not be slowed down. Since he is turning it off and on and seeing a difference in speed it has to be the router. I guess it could be CPU bound but then he should see 100% on the CPU.
 
Persistence check every 5 mins correct?
It shouldn’t happen every 5 minutes. Where is your Others category in the priority list? Don’t put it last.
 
If you don't mind me asking since I've can't remember how it works, just as a refresher how would this affect a file transfer eg a download of a windows update or a steam download for example.

Aslo would this affect gaming traffic with or without a download on another device eg a secondary PC doing an update whilst someone is playing a game on a pc or Xbox console.
I really don’t know the practical applications of burst. I am mostly trying to understand why FreshJR made some of the decisions he did in the original script. He left Asus’ burst and cburst as-is, and I think it’s less than ideal, but there are implications for sub-classes and leaf classes. I had a better grasp of it before vacation. :rolleyes:
 
I would generally agree, except that on gigabit, the usual stuff doesn't need much bandwidth. In a 2 person household with 1 4K TV, streaming shouldn't need more than 5%. Neither should VOIP, regular browsing, etc. Large file downloads from extremely fast servers are the only things capable of using that much.

I may even give it more. When I'm downloading a 60GB file, <50MB/sec vs >100 makes a huge difference in wait time.

but the minimum% at 50% doesnt prevent that download from using it all if its available.. what its doing is preventing other categorys from getting any cuz its being forced to that download.

the minium%'s ONLY garentee THAT% minimum bandiwdth.. dont affect the maximum they receive at all. only indirectly affect the maximum of the other categorys
 
It was last.LOL.

BTW...is there any way to make gaming UDP TOP TOP priority with zero drop rate my end?

if its unidentified going into OTHERS than put others at the top and make sure the minimum% reserved for it is enough to cover its needs.. it wont be dropped
 
Well, it is spectrum... so there are the occasional slowdowns during congested hours. just want to make sure that Video Games are top priority, without throttling my downloads too much. Supposed to get Google Fiber by the end of the year (they already trenched and installed a node outside my place).
The thing about QoS is that for it to work it has to know what your bandwidth limit is. If it gets congested around 6 pm and you can only get 5 Mbps upload, then you'll have to set your QoS upload limit based on that for it to have any effect during congested hours. The bad part is you will be limited to that at all hours. QoS can only manage your network, it can't help you with what's happening on the cable co's network outside of yours.
 
The thing about QoS is that for it to work it has to know what your bandwidth limit is. If it gets congested around 6 pm and you can only get 5 Mbps upload, then you'll have to set your QoS upload limit based on that for it to have any effect during congested hours. The bad part is you will be limited to that at all hours. QoS can only manage your network, it can't help you with what's happening on the cable co's network outside of yours.

same problem here. get 650/18 on weekends. workhours: 500-250/15-3
lots of fun playing catch up, setting my qos limits :)
 

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top