What's new

CakeQOS CakeQoS-Merlin v2.0.0 alpha

  • 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.
Well, let's compare numbers:

Docsis 3.0, Cable, 300/30Mbit
All settings default, except: Filter Duplicate TCP ACKs: yes on Uploads only

2021-04-23 15_25_46-ASUS Wireless Router RT-AC86U - CakeQOS-Merlin.png


DL Statistics
Packets sent: 159.745
Drops: 1 = 0,006%
Dropped ACK Packets: 0 = 0%

UL Statistics
Packets sent: 63.894
Drops: 8 = 0,010%
Dropped ACK Packets: 142 = 0,22%

Using spdMerlin for speedtest with AutoBW 95%, threshold for changing QoS Bandwidth = 3%

Edited with refreshed data
 
Last edited:
Ah OK, I was wondering if it was a "unit" discrepancy. Thank You!

Any comment re. dropped stats?
that was a whole other discussion - the pros and cons of dropping packets purposefully.
and I think the consensus was never mind the numbers - go by User Experience/network feel
 
@dave14305 and/or @Jack Yaz: I was just checking my CakeQos stats and they're actually lower than they were earlier today. I noticed this before and thought it was caused by a reboot, but I haven't rebooted today. Could it be that my stats are reset every time spdMerlin turns off Cake to run a speedtest? That way I won't ever have stats based on more than ~29 minutes of Cake actually running, which means the statistics I posted above are probably useless.
 
@dave14305 and/or @Jack Yaz: I was just checking my CakeQos stats and they're actually lower than they were earlier today. I noticed this before and thought it was caused by a reboot, but I haven't rebooted today. Could it be that my stats are reset every time spdMerlin turns off Cake to run a speedtest? That way I won't ever have stats based on more than ~29 minutes of Cake actually running, which means the statistics I posted above are probably useless.
That would be correct. Stopping QoS will reset the qdisc counters.
 
That would be correct. Stopping QoS will reset the qdisc counters.
Is there anyway to preserve the stats? If I include the speedtests in QoS for example. Would that keep Cake running? Or are there other downsides to that option?
 
Is there anyway to preserve the stats? If I include the speedtests in QoS for example. Would that keep Cake running? Or are there other downsides to that option?
your results will most likely be subject to whatever values you set for the qos bandwidth. it might only apply to upload due to the traffic ingressing/egressing the router itself rather than hitting br0, which is the case with adaptive qos, i think. i'm not sure on where cake sits on the interfaces and what traffic will be picked up, @dave14305 will know those answers
 
your results will most likely be subject to whatever values you set for the qos bandwidth. it might only apply to upload due to the traffic ingressing/egressing the router itself rather than hitting br0, which is the case with adaptive qos, i think. i'm not sure on where cake sits on the interfaces and what traffic will be picked up, @dave14305 will know those answers
Cake will subject router speedtests to both upload and download shaping since it’s shaping downloads on the eth0 ingress (versus br0 in Adaptive QoS).
 
Is "CakeQoS-Merlin v2.0.0 alpha" different then Cake QoS that is baked into merlin firmware?
 
If I set my Client Bandwidth to Auto while using cake, I do not get any drops, or dropped ack packets. Is that normal behavior?
 
Is "CakeQoS-Merlin v2.0.0 alpha" different then Cake QoS that is baked into merlin firmware?
The 2.0 alpha provides a GUI to tweak the firmware’s Cake behavior. The older CakeQoS 1.x versions provided Cake as a third-party Addon before it made it into the firmware.
If I set my Client Bandwidth to Auto while using cake, I do not get any drops, or dropped ack packets. Is that normal behavior?
It disables any Cake bandwidth shaping (unlimited bandwidth), so I imagine it wouldn’t have a need to drop. Never tested that though.
 
The 2.0 alpha provides a GUI to tweak the firmware’s Cake behavior. The older CakeQoS 1.x versions provided Cake as a third-party Addon before it made it into the firmware.
So CakeQoS baked in to the firmware is 1.0 and only provide limited GUI functionality. When I install CakeQoS-merlin 2.0, it'll remove version 1.0. In addition 2.0 also provides additional configuration through GUI.

Did I get it right? Once mature enough, is it going to replace build in version 1.0?
 
Last edited:
So CakeQoS baked in to the firmware is 1.0
No. Before Cake was added to the 386.2 firmware, there was a CakeQoS script version 1.0.x that would add Cake to a 384.x or 386.1 router, similar to how Entware adds features to the router.
 
So now that it’s already built in to latest merlin build, i don’t need to install cakeqos 2.0 separately?
 
Last edited:
So now that it’s already built in to latest merlin build, i don’t need to install cakeqos 2.0 separately?
That depends, if you would like to keep the very basic settings with no additional options/customizations than don't install 2.0.

You're limited with the options you can adjust with built-in CAKE. This should work fine for most users.

If you're willing to mess with additional settings, look at the screenshots in this thread here and you see can see that installing CAKE 2.0 allows for additional customization compared to the built-in CAKE.

You'll have to test and see what works best for you! Just remember keep CAKE simple, set and forget!
 
Last edited:
That would be correct. Stopping QoS will reset the qdisc counters.
is there a way to dump the current counters and import them on restart? i suspect import isn't possible, so could a solution be to dump the counters on stop, then the webui checks if the file exists and adds them to the current qdisc outputs?
 
is there a way to dump the current counters and import them on restart? i suspect import isn't possible, so could a solution be to dump the counters on stop, then the webui checks if the file exists and adds them to the current qdisc outputs?
In theory it’s possible but not practical because some stats are exponential weighted moving averages and not cumulative counters. Some of these stats are not worth obsessing over in my opinion.
 
It disables any Cake bandwidth shaping (unlimited bandwidth), so I imagine it wouldn’t have a need to drop. Never tested that though.
However the stats are still accurate, e.g. drops, Dropped ACK Packets, or ECN marked packets, etc. yes, no?
 
What's the difference between diffserv4 and diffserv8? I found an explanation of what diffserv4 is but no real clear-cut answer what diffserv8 is. Will I see any real benefit from choosing diffserv8?
 
What's the difference between diffserv4 and diffserv8? I found an explanation of what diffserv4 is but no real clear-cut answer what diffserv8 is. Will I see any real benefit from choosing diffserv8?
You'll see no benefit from choosing either unless you have a method of marking packets with DSCP priority flags.

diffserv4 just means you have 4 levels (or tins) with which to prioritise packets, and diffserv8 has 8.
I don't think the diffserv8 tins have "names" as-such like with diffserv4, as they are not based on anything.

I believe that the bufferbloat folks have not seen any practical improvement in performance going between diffserv 4 and 8. In practice, I think the opinion is that diffserv3 is plenty.

By default, cake uses diffserv3 for uploads, because there is a chance that some of your outbound VOIP applications will self-classify packets, and they can be put into the high priority tin.
The download direction is all lumped into one single "besteffort" tin, since there will be no (or at least uncontrolled) packet classifiction taking place upstream.
 
About the very limited number of drops reported in that example:
Docsis 3.0, Cable, 300/30Mbit
All settings default, except: Filter Duplicate TCP ACKs: yes on Uploads only

2021-04-23 15_25_46-ASUS Wireless Router RT-AC86U - CakeQOS-Merlin.png


DL Statistics
Packets sent: 159.745
Drops: 1 = 0,006%
Dropped ACK Packets: 0 = 0%

UL Statistics
Packets sent: 63.894
Drops: 8 = 0,010%
Dropped ACK Packets: 142 = 0,22%

Using spdMerlin for speedtest with AutoBW 95%, threshold for changing QoS Bandwidth = 3%

In this example, I see "Download" at 288.31 Mb/s.
In my experience, a speedtest reporting that sort of speed will use between 250MB and 500MB.
The statistics report for DL "Packets sent: 159.745", which at best would represent one single speedtest as far as i can tell.

I see AutoBW is being used. Note that spdMerlin with AutoBW will result in a reset of statistics each time it runs.

I suspect that there has been only very minimal activity on that link during that capture, and no stress, no speedtest. This would explain the very limited number of drops ( 0,006%..., 1 packet).

I would be curious to see your statistics over a longer time period, with AutoBW disabled, with millions of packets in the sample. FYI, here is an old example for my down link at a time I was playing with diffserv8 for curiosity purposes. I think some drop (like 0,1%) is perfectly fine. Cake is meant to drop packets. When there is congestion, you either process the packet with a delay, or drop it. So, dropping a bit wisely is sometimes desirable.

This is me being curious. In my eyes, the best approach for Cake is to trust the experts that developed it, and your user experience when it runs for you.

W.

0​
1​
2​
3​
4​
5​
6​
7​
thresh​
110Mbit​
96250Kbit​
84218Kbit​
73691Kbit​
64479Kbit​
56419Kbit​
49367Kbit​
43196Kbit​
target​
5.0ms​
5.0ms​
5.0ms​
5.0ms​
5.0ms​
5.0ms​
5.0ms​
5.0ms​
interval​
100.0ms​
100.0ms​
100.0ms​
100.0ms​
100.0ms​
100.0ms​
100.0ms​
100.0ms​
pk_delay​
6us​
10.6ms​
12.0ms​
9.9ms​
8.1ms​
0us​
2.8ms​
589us​
av_delay​
0us​
314us​
4.1ms​
1.1ms​
3.1ms​
0us​
87us​
19us​
sp_delay​
0us​
4us​
75us​
4us​
4us​
0us​
6us​
3us​
backlog​
0b​
0b​
0b​
0b​
0b​
0b​
0b​
0b​
pkts​
2​
6.226.337​
58.871.733​
7.195.921​
3.686.595​
0​
1.183.298​
245.649​
bytes​
180​
9.052.658.380​
65.194.402.513​
6.113.913.331​
4.657.006.464​
0​
252.113.376​
21.268.688​
way_inds​
0​
7.510​
3.943.643​
0​
42​
0​
0​
13.547​
way_miss​
2​
28.184​
242.070​
137​
540​
0​
538​
6.775​
way_cols​
0​
0​
0​
0​
0​
0​
0​
0​
marks​
0​
0​
89​
0​
0​
0​
0​
0​
drops​
0​
2.610​
37.044​
4.920​
291​
0​
39​
0​
ack_drop​
0​
49​
524​
0​
1​
0​
0​
0​
sp_flows​
0​
0​
1​
1​
1​
0​
0​
1​
bk_flows​
0​
0​
1​
0​
0​
0​
0​
0​
un_flows​
0​
0​
0​
0​
0​
0​
0​
0​
max_len​
90​
1.514​
1.514​
1.514​
1.514​
0​
1.201​
162​
quantum​
1.514​
1.514​
1.514​
1.514​
1.514​
1.514​
1.506​
1.318​
 
Last edited:
Status
Not open for further replies.

Similar threads

Sign Up For SNBForums Daily Digest

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