Applying SQM on Aussie NBN Fiber Internet

After fiber internet becoming available in our area in Melbourne, we signed up for the 50/20 plan from internode. Internet in Australia can still be most aptly described as “pricy” but at least with fiber I feel like a real internet citizen again. Once the fiber modem was installed I put my WNDR8000 loaded up with cerowrt to work getting us even lower latencies.

Tests

First, a RRUL (Realtime Response Under Load) test without shaping to my AWS server in Sydney (not ideal – if anyone has a netperf server in Melbourne let me know!):

Not too bad. Latency is already orders of magnitude better that it was with our old ADSL connection. In fact a significant part of it is probably just the roundtrip time to Sydney. But still, there is clearly packet loss – all of the UDP ping streams died quickly. And the weird cyclic ping pattern suggests there is still some bufferbloat that we can fix here.

Taking a guess from the download and upload numbers, I set shaping on the router to 45000/13000 kbit/s with an fq_codel queue, and tried again.

Much more beautiful charts here. Latency pretty much consistently stays under 20ms, our UDP ping streams stay alive, and variance in download and upload speeds is massively reduced.

Knowing that our connection is encapsulated in PPPoE, I took a guess and tried setting Link Layer Adaptation for 8 bytes of overhead.

Not a lot of difference. Latency seems slightly lesser, but that could be a spurious correlation. I decided these results were good enough and left the router on these settings.

Conclusion

Using the SQM built into cerowrt produces nice results compared to defaults, even on fiber with a reasonable upload speed.