From: Jonathan Foulkes <jf@jonathanfoulkes.com>
To: Rich Brown <richb.hanover@gmail.com>, rpm@lists.bufferbloat.net
Subject: Re: [Rpm] Alternate definitions of "working condition" - unnecessary?
Date: Wed, 6 Oct 2021 16:36:15 -0400 [thread overview]
Message-ID: <7B6803AB-A910-4BD0-A4E8-63E7CD600790@jonathanfoulkes.com> (raw)
In-Reply-To: <E874E0D0-31B6-4F0D-8844-83A3B317F2B1@gmail.com>
Let me add another tool, as it’s the one I use to ensure I measure full line capacity during our tuning tests. Netperf.
Netperf supports both TCP and UDP streams, and since one usually needs many streams, you can mix those in any combination of proportions to generate load.
Note- I manage the load on my Netperf servers in a way that guarantees I can measure up to a gig worth of capacity on any single given test. An often overlooked aspect of ‘load’ is whether the remote can actually meet a given capacity/latency goal. I can tell you, that matters.
As I mentioned in one of the IAB breakout sessions, even a CMTS with an AQM on upload can be driven into bloated conditions, but it takes substantially more streams than what would be expected to fully load it to the point of bloat.
I have such a line, a DOCSIS 3.0 300/25 that I use for testing. After a particularly brutal couple of hours of testing while I tuned some algorithms, the ISP engaged an AQM on upload (automatically or manually, don't know, but a similar line on the same CMTS does NOT have the AQM) that produces test results that look good, but a limited capacity of 17Mbps, with a ’normal’ (12) number of streams. But when hammered with 30 upload streams, we see the full 25Mbps and some 300ms of bloat (or worse).
I’ll also note that whatever load pattern the Waveform test uses, seems to generate some bloat within my own MacBook Pro, as if I run a concurrent PingPlotter session on the MBP that is also running the Waveform test in a browser, PP logs high (800+ms) pings during the test.
I recall checking with PP running on another device and the plots looked like what one would expect with Cake running on the router.
So what ‘load’ the current device running the test has going on concurrently can skew the tests (at least insofar as determining if the problem is the line vs the device).
But for research, I total agree Flent is great tool. Just wish it was easier to tweak parameters, maybe I just need to use it more ;-)
> What new information would another "working conditions" test expose that doesn't already come from Flent/RPM Tool? Thanks.
While I’m happy with what I get from Netperf and Flent, I’m one who would like to see a long-running ( >60sec) test suite that had a real-world set of traffic patterns that combines a mix of use cases (VoIP, VideoConf, streaming, DropBox uploads, web surfing, gaming, etc.) and would rank the performance results for each category.
To be effective at testing a router, it would ideally be a distributed test run from multiple devices with varying networking stacks. Maybe an array of RPi4’s with VMs running various OS’s?
So to Rich’s question, ranking results in each category might show some QoS approaches being more effective at some use cases over others. Even if the Qos’s are reasonably effective at the usual bloat metrics.
Even using the same QoS (Cake on OpenWRT) two different sets of settings will both give A’s on the DSLreports test, but have very different results in a mixed load scenario.
Cheers,
Jonathan
> On Oct 6, 2021, at 3:11 PM, Rich Brown via Rpm <rpm@lists.bufferbloat.net> wrote:
>
> A portion of yesterday's RPM call encouraged people to come up with new definitions of "working conditions".
>
> This feels like a red herring.
>
> We already have two worst-case definitions - with implementations - of tools that "stuff up" a network. Flent and Apple's RPM Tool drive a network into worst-case behavior for long (> 60 seconds) and medium (~20 seconds) terms.
>
> What new information would another "working conditions" test expose that doesn't already come from Flent/RPM Tool? Thanks.
>
> Rich
> _______________________________________________
> Rpm mailing list
> Rpm@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/rpm
next prev parent reply other threads:[~2021-10-06 20:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-06 19:11 Rich Brown
2021-10-06 20:36 ` Jonathan Foulkes [this message]
2021-10-07 16:40 ` Toke Høiland-Jørgensen
2021-10-07 18:49 ` Dave Taht
2021-10-08 17:51 ` Toke Høiland-Jørgensen
2021-10-07 21:39 ` Rich Brown
2021-10-06 21:22 ` Dave Taht
2021-10-06 23:18 ` Jonathan Morton
2021-10-07 0:11 ` Christoph Paasch
2021-10-07 10:29 ` Jonathan Morton
2021-10-07 15:44 ` [Rpm] apple's fq_"codel" implementation Dave Taht
2021-10-07 10:30 ` [Rpm] Alternate definitions of "working condition" - unnecessary? Sebastian Moeller
2021-10-08 0:33 ` Jonathan Morton
2021-10-08 23:32 ` Christoph Paasch
2021-10-11 7:31 ` Sebastian Moeller
2021-10-11 9:01 ` Jonathan Morton
2021-10-11 10:03 ` Sebastian Moeller
2021-10-11 17:34 ` Christoph Paasch
2021-10-12 10:23 ` Sebastian Moeller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/rpm.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7B6803AB-A910-4BD0-A4E8-63E7CD600790@jonathanfoulkes.com \
--to=jf@jonathanfoulkes.com \
--cc=richb.hanover@gmail.com \
--cc=rpm@lists.bufferbloat.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox