I'm still reading and love data & testing Keep posting!
Is it iperf3 that gives you the latency stats?
Since you're running a Mac I believe you're using iperf3-darwin that has RTT displayed.
And I also found out that my Macbook Air M2 have some issues with 5g wifi and lagging in SSH etc every second. This is because of awdl0. This might have an impact too on your testing.
I actually was monitoring RTT in a separate window running gping whilst iperf3 was humming along. I'll have to check out iperf3-darwin--did not know of it!
Excellent callout and I have run into the same. I'm happy to say that I have been running with awdl0 disabled for quite some time now and it should have no bearing in the test results I posted.
Ah, interesting. That was a different solution. I did something different and it's working for me. I read that awdl0 is using a fixed channel 44 in Europe and 149 in the US. So my issue was that I was using channel 36. I just changed to channel 44 and that solved it.
But everyone can't change to channel 44 or 149 because of noisy neighbors. So your solution might be better...
I did not have this issue with my older Macbook Pro 13" 2016.
Just gave iperf3-darwin a spin! I didn't realize it was built-in to MacOS. The bummer is that it seems to only provide RTT when it is the sender. The test I was performing was to have my router as sender so that the TXQ on my RT3200s was exercised for the aql_txq_limit effects.
If there are any notable flaws in my testing methods, feel free to call them out and I'll be happy to re-run the exercise.
Update...
FWIW, it does seem that running in --bidir mode does show RTT on each sending interval.
Hey Dave, I'm always up for testing out a new tool. I don't want to take this OpenWrt thread sideways with app-specific troubleshooting, but I did hit an error upon trying it out. I added to this existing issue, and while Rust isn't a language I know well, I will see if I can make any headway with it:
I'm looking forward to seeing the data once it's working on my Mac!
@dtaht In cake I see a lot of overlimits. I've been able to reduce the amount of dropped packets by qosify. However... how do you handle overlimits? I'm trying to find more information on that topic, but I'm not able to get "hands on" information, from others that are solving high amount of overlimits.
I think that overlimits really just means that our qdsc is accumulating packets, that is packets arrived while our traffic shaper was not transmitting them further, which is exactly what the traffic shaper is intended to do. So overlimits are not an error counter, but in our case more a proof of functionality.
Quite interesting! Maybe worth emphasising that this is over WiFi (the non duplex nature of WiFi explains nicely why the total bidirectional load tops out at around the same total as the two individual uni-directional load tests...)