What's new

[Release] FreshJR Adaptive QOS (Improvements / Custom Rules / and Inner workings)

  • 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!

Status
Not open for further replies.
@Sinner not quite.

QOS is a token based system.
1 token = 1 packet processed (just for example)

Packets to be processed wait in a queue.

Every clock cycle (eg tic) packets consume a token if available. If not available they wait and see if a token will be available next clock cycle.

In steady state operation, as you are operating at your bandwidth limits, tokens are being consumed as soon as they are generated. No issues, everything is working as expected and you are limiting your speeds as expected with no bufferbloat.

Now let’s say your network is idle. If you submit a 10 packets, you would have to wait 10 cycles for 10 token to be generated.

To remove this delay, we could allow a small amount of tokens are stored in buckets to use in the future instead destroying them the during the clock cycle they are created .

So at idle let’s say our bucket is a size of 10. Tokens will be generated and fill up this bucket first if it’s not full before being destroyed.

What this means in practice is that the first 10 packets can pass through without any delay if the network was not in a saturated state. During each clock cycle new tokens will still be generated and will still be filled into the buckets if the network is not saturated.

Allowing to burst packets, instead of waiting for tokens to be generated per clock cycle, while the network is NOT saturated improves responsiveness.

Now if you go to full network load these available tokens will cause you to exceed limits for a brief moment. Eg first 10 packets got passed through 0rated while other packets are consuming tokens at the generation rate.

This happens only at beginning of network saturation. As soon as tokens in the bucket are depleted, you are back to consuming tokens as soon as they are generated and within limits.

There’s is two sets of buckets with the qos system per class.
One per rate(burst) and one per ciel(cburst). Since our tokens generated are split between the classes the order the buckets fill up and get generated tokens get allotted/shared is a little more complicated.

---

Simply put

Too small bursts = unresponsiveness
Too big bursts = you will go over QOS limits at beginning of network saturation for too long of a time and create a spike of bufferbloat.

Asus generates burst/cburst values as a function of inputted user speeds. I had their correlation but deleted it.

---

There’s a little more too it but I’m not trying to write an article. Basically I limited bursts for bulk traffic since I don’t care about a few ms of responsiveness on that type of traffic and this removed a bufferbloat spike at the beginning of network saturation once those classes start consuming data.

---

I have no plans on modifying bursts/cbursts default values. This is outside the scope of the script, but the framework of the script does allow you to extend functionality and override bursts for your needs.
 
Last edited:
I did sum digging on this. Burst more or less allows a leaf class like gaming or others for example go above the "rate". It earns this capability by like an allowance for not being at burst. But i still havent quite figured out if its of any use with our qos. Since we can already go wel over rate if its needed and available. The burst feature may be more tied into the driver though and less cpu hog but not sure. Im quite happy with our current setup but am interested in increasing efficiency so qos and vpn can achieve closer to the 1gbps.
My question was what is the values that Asus use for bursts, I change from the 1600 to 1500 which is the same as my MTU to see if it was better in regards to buffer bloat, im just qurious as to what values are deafult.
 
My question was what is the values that Asus use for bursts, I change from the 1600 to 1500 which is the same as my MTU to see if it was better in regards to buffer bloat, im just qurious as to what values are deafult.

function of your inputted limits
 
Do i need to enable Manually Assigned IP as a settings or just add the gaming pc to the DHCP-Liste?

What value do i need for mask bits or do just have to use 30and just put my own ip adress in the cidr calculator and use all the same values ???
 
[RESOLVED] First time I noticed this. My dslreports test results, now show excellent for HTTPS but not so much for HTTP. I'm not wrapping my head around this, can someone explain this one to me please?
Fix: Cleared cookies and reset website in chromium to defaults.
 
Last edited:
Hello

When i update my router firmware, do u have to add the script again, to get it work ?
 
I dont know exactly what i have to remove!

only this #i ???

or only #

I have to say the explanation is not very clear for a person how doesnt know a lot off this topic.
 
I dont know exactly what i have to remove!

only this #i ???

or only #

I have to say the explanation is not very clear for a person how doesnt know a lot off this topic.
It’s fairly simple if it’s just the default script you’re trying to install.
Open putty and log into your router then copy and paste the script into putty. Make sure that the boxes in custom QOS are listed the same as the ones given on FreshJR’s installation guide. Then restart QOS.
 
i dont want the normal script i want the gaming orientale rule so what do i need to remove which letter ???
 
Last edited:
i dont want the normal script i want the gaming orientale rule so what do i need to remove which letter ???
Install the default script get winSCP and team viewer then on me and I can show you how to put the rule in, the gaming rule is set for a specific device, you choose which one.

From your response I don't think that you read the first page carefully enough, don't worry we all make that mistake the first time.
 
That would be really cool if youwould help me.

But think i know it except the step that i dont know what i have to remove because the red circle doest show exactly which letters thst i have to remove.
 
Hi,
I seem to be having problems on my RT-AC86U with script . installed and my buffer bloat on both up/down is C on DSLReort , settingd in QOS are 10% - my DSLReport speed, fq_codel and PPPoE/DSL.
If i remove the script and keep the same settings its A+

Am i missing something no svript modifcation at all its as its downloaded.

Mark
 
Hi,
I seem to be having problems on my RT-AC86U with script . installed and my buffer bloat on both up/down is C on DSLReort , settingd in QOS are 10% - my DSLReport speed, fq_codel and PPPoE/DSL.
If i remove the script and keep the same settings its A+

Am i missing something no svript modifcation at all its as its downloaded.

Mark
Using 95% or 90% bandwidth and per packet overhead
 
That would be really cool if youwould help me.

But think i know it except the step that i dont know what i have to remove because the red circle doest show exactly which letters thst i have to remove.
Definitely just send me a pm and we can talk about it
 
So I have read all 100+ pages so far, install FreshJR_QOS (Excellent product BTW, thanks FreshJR), and was able to use the Gaming rules, to get some games classified properly so their packets are now flowing under the "Others" traffic classification.

The question I have is that I'm downloading from a usenet server via SSL, and I'm noticing the traffic is getting classified as "Lets Encrypt" traffic.

Running the command, as per FreshJr:

/jffs/scripts/FreshJR_QOS -appdb "Let Encrypt"

gives me

Lets Encrypt
Cat: Net Control
Mark: 0x801400c2 0xc03fffff
Prio: 22

but I notice that the traffic under "QOS Statistics" when downloading, that it is showing up for that machine classified as "Web Surfing".

This does not make sense to me:confused: as based on the command above, I should see it under "Net Control Packets". Any thoughts?

Also, how would I recategorize that traffic for that one machine to have it classified under "File Transferring" instead?


My QOS Configuration is the same as FreshJR's:

Class Total Rate Packet rate
  • Net Control Packets
  • VoIP and Instant Messaging
  • Gaming
  • Others
  • Web Surfing
  • Video and Audio Streaming
  • File Transferring
  • Default
 
Last edited:
Status
Not open for further replies.

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

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