Mmmh, so that shows that on ingress/download where you see the attrocious bufferbloat in the waveform speedtest, cake also reports matching high internal sojourntimes... that again makes my think about getting access to CPU issues....
BTW, your netdata plots are more helpful than the cake statistics, simply because the peak delay ages out too quickly (this comes fro the download and the subsequent upload test, basically resets the download peak counter due to the reverse ACK traffic and whatnot else).
@WilR I don’t know if this will help, but for reference I have a 400/20mbps cable connection. I actually get more like 480/24mbps. Regardless, here is the SQM config I use:
I wonder if you might be willing to drop in this config and give it a test. Obviously you’ll want to modify the upload, download, and interface to match your setup. But I’m just curious what your experience will be with this known good config.
Notice that my linklayer option is “none”, however that’s because I specify “docsis” in the advanced config options.
You can create of backup of your current SQM config in case this doesn’t give positive results.
I understand that you like qosify over sqm (which is fine) but here, both really are just tools to instantiate cake on ingress and/or egress, after they are done setting things up all that is left is identical. So I am not sure how switching to qosify is going to change anything substantial?
Could you post links to the actual test results please, so we can see more information about latency samples under the three different test regimes, please?\
I also agree with @_FailSafe that getting the ts -s qdisc output from just after a speedtest will be helpful.
I might be especially thick today, but I do not see the connection between these two threads, sorry. Not trying to diss you, great that you are chiming in, I just wanted to understand the rationale behind your proposed test.
Yeah, @elan, throwing Qosify into the mix right now in the middle of troubleshooting doesn’t seem like it’s helping resolve the underlying issue(s) here.
Yes if you run a waveform bufferbloat test
like this there is a line at the bottom labeled "Share Your Results" giving you a link to the detailed results page (that you screen shotted so far): Here is a screen shot from a test I just ran as example:
root@Willthetech_Home:~# SQM_DEBUG=1 SQM_VERBOSITY_MAX=11 /etc/init.d/sqm stop ;
SQM_DEBUG=1 SQM_VERBOSITY_MAX=11 /etc/init.d/sqm start
SQM: Acquired run lock
/usr/lib/sqm/run.sh: line 57: can't create : nonexistent directory
SQM: Stopping SQM on eth0
SQM: Acquired run lock
/usr/lib/sqm/run.sh: line 57: can't create : nonexistent directory
SQM:
SQM: Fri Dec 31 11:36:58 EST 2021: Starting.
SQM: Starting SQM script: layer_cake.qos on eth0, in: 600000 Kbps, out: 40000 Kbps
SQM: fn_exists: function candidate name: sqm_start
SQM: fn_exists: TYPE_OUTPUT: sqm_start: not found
SQM: fn_exists: return value: 1
SQM: Using generic sqm_start_default function.
SQM: fn_exists: function candidate name: sqm_prepare_script
SQM: fn_exists: TYPE_OUTPUT: sqm_prepare_script is a function
SQM: fn_exists: return value: 0
SQM: sqm_start_default: starting sqm_prepare_script
SQM: cmd_wrapper: COMMAND: /sbin/ip link add name SQM_IFB_51e94 type ifb
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name SQM_IFB_51e94 type ifb
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc replace dev SQM_IFB_51e94 root cake
SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc replace dev SQM_IFB_51e94 root cake
SQM: QDISC cake is useable.
SQM: cmd_wrapper: COMMAND: /sbin/ip link set dev SQM_IFB_51e94 down
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev SQM_IFB_51e94 down
SQM: cmd_wrapper: COMMAND: /sbin/ip link delete SQM_IFB_51e94 type ifb
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete SQM_IFB_51e94 type ifb
SQM: cmd_wrapper: COMMAND: /sbin/ip link add name SQM_IFB_f41c6 type ifb
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name SQM_IFB_f41c6 type ifb
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc replace dev SQM_IFB_f41c6 root cake
SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc replace dev SQM_IFB_f41c6 root cake
SQM: QDISC cake is useable.
SQM: cmd_wrapper: COMMAND: /sbin/ip link set dev SQM_IFB_f41c6 down
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev SQM_IFB_f41c6 down
SQM: cmd_wrapper: COMMAND: /sbin/ip link delete SQM_IFB_f41c6 type ifb
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete SQM_IFB_f41c6 type ifb
SQM: sqm_start_default: Starting layer_cake.qos
SQM: ifb associated with interface eth0:
SQM: Currently no ifb is associated with eth0, this is normal during starting of the sqm system.
SQM: cmd_wrapper: COMMAND: /sbin/ip link add name ifb4eth0 type ifb
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name ifb4eth0 type ifb
SQM: fn_exists: function candidate name: egress
SQM: fn_exists: TYPE_OUTPUT: egress is a function
SQM: fn_exists: return value: 0
SQM: cmd_wrapper: tc: invocation silenced by request, FAILURE either expected or acceptable.
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc del dev eth0 root
SQM: cmd_wrapper: tc: FAILURE (2): /sbin/tc qdisc del dev eth0 root
SQM: cmd_wrapper: tc: LAST ERROR: Error: Cannot delete qdisc with handle of zero.
SQM: LLA: default link layer adjustment method for cake is cake
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc add dev eth0 root cake bandwidth 40000kbit diffserv3 docsis dual-srchost nat ack-filter
SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev eth0 root cake bandwidth 40000kbit diffserv3 docsis dual-srchost nat ack-filter
SQM: sqm_start_default: egress shaping activated
SQM: cmd_wrapper: COMMAND: /sbin/ip link add name SQM_IFB_0f282 type ifb
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name SQM_IFB_0f282 type ifb
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc replace dev SQM_IFB_0f282 ingress
SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc replace dev SQM_IFB_0f282 ingress
SQM: QDISC ingress is useable.
SQM: cmd_wrapper: COMMAND: /sbin/ip link set dev SQM_IFB_0f282 down
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev SQM_IFB_0f282 down
SQM: cmd_wrapper: COMMAND: /sbin/ip link delete SQM_IFB_0f282 type ifb
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete SQM_IFB_0f282 type ifb
SQM: fn_exists: function candidate name: ingress
SQM: fn_exists: TYPE_OUTPUT: ingress is a function
SQM: fn_exists: return value: 0
SQM: cmd_wrapper: tc: invocation silenced by request, FAILURE either expected or acceptable.
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc del dev eth0 handle ffff: ingress
SQM: cmd_wrapper: tc: FAILURE (2): /sbin/tc qdisc del dev eth0 handle ffff: ingress
SQM: cmd_wrapper: tc: LAST ERROR: Error: Invalid handle.
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc add dev eth0 handle ffff: ingress
SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev eth0 handle ffff: ingress
SQM: cmd_wrapper: tc: invocation silenced by request, FAILURE either expected or acceptable.
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc del dev ifb4eth0 root
SQM: cmd_wrapper: tc: FAILURE (2): /sbin/tc qdisc del dev ifb4eth0 root
SQM: cmd_wrapper: tc: LAST ERROR: Error: Cannot delete qdisc with handle of zero.
SQM: LLA: default link layer adjustment method for cake is cake
SQM: cmd_wrapper: COMMAND: /sbin/tc qdisc add dev ifb4eth0 root cake bandwidth 600000kbit diffserv3 besteffort docsis dual-dsthost nat ingress
SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev ifb4eth0 root cake bandwidth 600000kbit diffserv3 besteffort docsis dual-dsthost nat ingress
SQM: cmd_wrapper: COMMAND: /sbin/ip link set dev ifb4eth0 up
SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev ifb4eth0 up
SQM: cmd_wrapper: COMMAND: /sbin/tc filter add dev eth0 parent ffff: protocol all prio 10 u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb4eth0
SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc filter add dev eth0 parent ffff: protocol all prio 10 u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb4eth0
SQM: sqm_start_default: ingress shaping activated
SQM: layer_cake.qos was started on eth0 successfully