Sooo, it sounds like it should be enough in my case. But somehow it feels like it isn't, that's why I'm asking.
If you have a spare computer (Atom baytrail or better, core2duo or better) with 2 network cards (USB3, rtl815x is fine), you could always do a quick check, booting OpenWrt from a USB stick (so no persistent changes to the computer) to make a 1:1 performance comparison. While you shouldn't run such an un-tuned system 24/7 for longer periods of time (idle power consumption, noise, etc.), it will do for a couple of ways to test the waters; purpose built systems (x86_64 or more traditional (e.g. ARM64) plastic routers) easily pay for themselves within 6-18 months on the power bill, compared to your old gaming rig.
--
Disclaimer: I ended up with a purpose-built 4* 1000BASE-T port Atom j1900 to cover 400/200 MBit/s ftth with sqm/cake and won't look back.
If connections to the router are the issue, run iperf3. Here is my data using OpenWRT 22.03.3
For some people that have WIFI drop outs on there c7 some times switching out the PSU can help. I hade a v2 off ebay and the stock PSU was dodgey.
Hmmm... with that many devices, some of them time sensitive, (phone, etc) might it be bloat related issues? Have you tried testing for bufferbloat?
As has been said, 200mbit should be OK, maybe not stellar. But, if bloat is the issue here, and I'd guess so with the traffic load you describe... you WANT SQM, and then your C7 is only good for 100-120mbit. So a problem, or a lot of speed to give up.
You could set up Cake, throttle it back to 95-100mbit and see how that works. The more advanced settings might help your traffic mix more, as well. See the various SQM pages.
Another trick I learned, when I was running just a C7 and had a 300/30 connection, was to only SQM the upload/ingress. Set it to 0 and 30 for the rate speeds. Then you get full line speed on the DL, it just wont manage flows on it. The C7 easily handles SQM'ing 30mbit, and I saw much of the total bloat improvement of running at 100/30. This of course, wont help if you're symmetrical and have 200/200.
Other thing to do, is migrate to a more powerful box, or split system like slh mentioned above. The C7's make decent AP's. I do this now, and its great. A little mini PC or a RPi4, and you're not burning much power.
You could try one of the simpler queue disciplines, but I dont think that will get you to 200mbit. Beware of the C7 getting to higher speeds with SQM than saturates the CPU. Cake at least, will just pass w/o processing if it runs out of CPU, and it looks like its doing 250, while it isnt doing much SQM anymore. Check CPU idle time in top, or watch carefully in the bloat test. A C7 w cake maxes out about 140 on the wire, and about 100-115 over wifi, as I recall.
Getting a better box is not really a problem, I just thought that this one should be enough.
I did run a bufferbloat test, but I found the results somewhat inconclusive as they varied between A and C or so, even when run consequently. Furthermore, I ran same test with a much more powerful box (GL.iNet AX1800) and even if it performed somewhat better, I don't think the result was ever A+. I could run these tests again tomorrow and document my findings, if you're curious.
Either way, I'm grateful for all your replies! I guess, if I keep having these problems, I'll flash stock firmware to see if it works better, but in the end I'll just sell the device and replace it with the aforementioned GL.iNet or some other router that has more power than the C7.
Run iperf3 directly to the router from both boxes, and post your results.
OK... I re-read your first post, and I apologize for thinking you WERE saying there was gaming and file transfer and stuff going on in your use... Less loading than hundreds more busy threads running.
Yeah, if you don't mind, it might be interesting to see:
- What settings you are using with SQM.
- Results of tc -s qdisc, after the test.
- Results you are getting on the Waveform site test. (that is what you were using?)
- What top shows for sirq and idle time during the speedtesting. (see how loaded the CPU is)
I'm thinking there could be a chance of non optimal SQM settings preventing maximum benefit. Would be good to know how much it could smooth thnigs out for you. I got a lot of benefit and consider it the major reason to run my own router/use OpenWrt.
-
Okay, here are the results of three consecutive
iperf3
runs just now:Expand to see
root@Archer:~# iperf3 -s -D && iperf3 -c 127.0.0.1 Connecting to host 127.0.0.1, port 5201 [ 5] local 127.0.0.1 port 42548 connected to 127.0.0.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 56.3 MBytes 473 Mbits/sec 0 1.06 MBytes [ 5] 1.00-2.00 sec 59.9 MBytes 501 Mbits/sec 0 1.06 MBytes [ 5] 2.00-3.00 sec 59.6 MBytes 500 Mbits/sec 0 1.06 MBytes [ 5] 3.00-4.00 sec 59.5 MBytes 501 Mbits/sec 0 1.06 MBytes [ 5] 4.00-5.00 sec 60.2 MBytes 504 Mbits/sec 0 1.06 MBytes [ 5] 5.00-6.00 sec 61.2 MBytes 514 Mbits/sec 0 1.06 MBytes [ 5] 6.00-7.00 sec 61.1 MBytes 513 Mbits/sec 0 1.06 MBytes [ 5] 7.00-8.00 sec 62.2 MBytes 522 Mbits/sec 0 1.06 MBytes [ 5] 8.00-9.00 sec 61.5 MBytes 515 Mbits/sec 0 1.06 MBytes [ 5] 9.00-10.00 sec 64.0 MBytes 538 Mbits/sec 0 1.06 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 606 MBytes 508 Mbits/sec 0 sender [ 5] 0.00-10.02 sec 604 MBytes 506 Mbits/sec receiver iperf Done. root@Archer:~# iperf3 -s -D && iperf3 -c 127.0.0.1 Connecting to host 127.0.0.1, port 5201 [ 5] local 127.0.0.1 port 57784 connected to 127.0.0.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 57.5 MBytes 481 Mbits/sec 0 1023 KBytes [ 5] 1.00-2.01 sec 59.3 MBytes 494 Mbits/sec 0 1023 KBytes [ 5] 2.01-3.00 sec 58.6 MBytes 496 Mbits/sec 0 1023 KBytes [ 5] 3.00-4.00 sec 58.1 MBytes 487 Mbits/sec 0 1023 KBytes [ 5] 4.00-5.00 sec 57.8 MBytes 486 Mbits/sec 0 1023 KBytes [ 5] 5.00-6.00 sec 60.2 MBytes 504 Mbits/sec 0 1023 KBytes [ 5] 6.00-7.00 sec 57.9 MBytes 487 Mbits/sec 0 1023 KBytes [ 5] 7.00-8.00 sec 61.1 MBytes 512 Mbits/sec 0 1023 KBytes [ 5] 8.00-9.00 sec 60.7 MBytes 510 Mbits/sec 0 1023 KBytes [ 5] 9.00-10.00 sec 63.8 MBytes 535 Mbits/sec 0 1023 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 595 MBytes 499 Mbits/sec 0 sender [ 5] 0.00-10.01 sec 594 MBytes 498 Mbits/sec receiver iperf Done. root@Archer:~# iperf3 -s -D && iperf3 -c 127.0.0.1 Connecting to host 127.0.0.1, port 5201 [ 5] local 127.0.0.1 port 37310 connected to 127.0.0.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 58.7 MBytes 491 Mbits/sec 0 1023 KBytes [ 5] 1.00-2.00 sec 59.9 MBytes 502 Mbits/sec 0 1023 KBytes [ 5] 2.00-3.00 sec 61.0 MBytes 513 Mbits/sec 0 1023 KBytes [ 5] 3.00-4.00 sec 62.0 MBytes 519 Mbits/sec 0 1023 KBytes [ 5] 4.00-5.02 sec 61.2 MBytes 507 Mbits/sec 0 1023 KBytes [ 5] 5.02-6.00 sec 59.8 MBytes 509 Mbits/sec 0 1023 KBytes [ 5] 6.00-7.00 sec 60.8 MBytes 510 Mbits/sec 0 1023 KBytes [ 5] 7.00-8.00 sec 60.4 MBytes 506 Mbits/sec 0 1023 KBytes [ 5] 8.00-9.00 sec 59.9 MBytes 502 Mbits/sec 0 1023 KBytes [ 5] 9.00-10.00 sec 59.9 MBytes 503 Mbits/sec 0 1023 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 603 MBytes 506 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 602 MBytes 505 Mbits/sec receiver iperf Done.
-
I'm not really using SQM or any other form of traffic shaping. I hoped I wouldn't have to bother about (configuring) it. I can install these packages though, if you give me their names. In that case perhaps you could also suggest me the best settings to use?
With that in mind, I'm not sure if thetc
command applies to me as well, because none of thetc*
packages were or are installed on the router. -
Waverform bufferbloat test results. They're quite surprisingly consistent this time:
-
top
header at a moment during the Waveform test:Mem: 66312K used, 55972K free, 1164K shrd, 0K buff, 14044K cached CPU: 1% usr 0% sys 0% nic 1% idle 0% io 0% irq 95% sirq Load average: 0.44 0.29 0.13 3/54 4021
You sirq at 95% seems high, but I don't have a reference point. See here:
Try bufferbloat tests at fast.com and/or cloudflare, while also checking waveform at the same time to rule out ISP and internet connection issues.
The sirq number is a bit flaky during these tests, but it easily reaches 99% as well.
Consecutive Fast.com tests results
Subsequent Waveform tests again:
And with SQM installed, both speeds set to 180000 kbit/s in the config, and piece_of_cake
setup script enabled:
- https://www.waveform.com/tools/bufferbloat?test-id=348b13f6-9cb0-4901-93bc-6f65d3bf188c
- https://www.waveform.com/tools/bufferbloat?test-id=85db030e-e977-4233-815d-c309f039e41f
- https://www.waveform.com/tools/bufferbloat?test-id=5eea7cf8-bac2-42aa-a1c2-cba70ad6e79b
Again, sirc was above 90% and even reached 100% at some point. Doesn't look like much of an improvement. Did I have to reboot the router first?
Sorry, been away...
So, yes, you wont see rests with the tc command when you arent using SQM.
The non SQM results you're getting on the waveform tests is not all that bad, actually.
Nope, you just enable or disable cake.
When running cake, you should set the speed lower. You're running out of CPU/irq and need to slow it down to the point youre below 95-100% sirq. Cake will start dropping packets if the cpu cant handle the rate, and then its not helping you much. (While overworking the cpu...) Set the traffic rates to 100mbit for testing, to see how it helps your bloat, if the sirq stays below 100%, and how the network feels. If you see it getting close to 100%, its too fast for the traffic speed.
Then you can edge the speed up, though you shouldnt expect more than 110-140mbit without running out of sirq time. Or lower, since my testing was on an asymmetric line that was 300/30, hence my practical limit of around 110/30.
And, then you get to decide if that much speed loss is worth the sacrifice... but if the smoothness improves a lot under load, you might accept that, or find something powerful enough to give you working SQM at your full line speed.
'kay, so I tried setting download and upload speeds to 100000, 90000, 50000 and even 30000 kbits, and running the bufferbloat test. I can't say I noticed any difference. My bufferbloat grade was always A, and sirq would jump to 98% or even 99% in all cases. I suppose it makes sense though, because why wouldn't it use the CPU resources that are otherwise available?
Perhaps the only thing I've noticed is that there seem to be much fewer considerable deviations from the average per-packet latency when SQM is enabled. E.g. this result only has three deviating results, and this one appears to have none.
I guess I'll just have to see whether or not I'm generally happy with this router. In fact, I have acquired another one already (a GL.iNet AX1800), but I'm just not yet sure if I actually need it or if it's OK to sell it.
Hmmm... sounds like somethings not right. You should see the latency approach 0ms, somewhere below 100mbits... And, in the last Waveform tests you posted, I still see >100mbit speeds. SQM dosent seem to be controlling your traffic speed. You should see a speed close to what you set it to, not above.
And.... Rereadng this, I realize it must have been a long day, back then... I should have been pointing you at the idle%!! THAT is the primary indicator of running out of resources, when it gets down near to 0%. So, focus on idle time, and how little there is left during the test.
Other thing to check, is to look at tc -s qdisc, to make sure that you do have a functioning SQM, and its doing something. Ive been caught a few times by typoing an advanced command, with NO cake enabled as a result. Or, trying a new, different router and getting cake on the wrong interface due to different layouts. It can be hard to notice, if your connection is not obviously terrible without it.
Lastly... if you would benefit from adding an AP for better coverage around the house, the C7 would be worth keeping for that..