[Cerowrt-devel] [Bloat] (no subject)

Jonathan Foulkes jf at jonathanfoulkes.com
Thu May 16 12:40:13 EDT 2019


> @Jonathan from your experience how tricky is it to get reliable speedtest endpoints and how reliable are they in practice. And do you do any sanitization, like take another measure immediate if the measured rate differs from the last by more than XX% or something like that?

It is tricky to get the profiling of a line right. For one, access to the test endpoints need to be managed so concurrency does not swamp the server/link capacity, otherwise the test results are suspect. You don’t know if measured capacity was limited due to link constraints or server capacity. We spent a good bit of time engineering our capacity testing infrastructure and process to the point of where it is quite reliable in terms of metrics.

Multiple measurements over time are required to correctly profile a line. Generally, early morning (4am or so) tests find the high-water mark on most lines.

As discussed elsewhere, another challenge as line capacity goes up, is where the source of the test is run from. On-router testing is fine for sub-100mbps, but becomes more and more of challenge as speeds go up. Testing a Gbps line using an in-router process takes a pretty beefy box in terms of CPU and NICs.

Best regards,

Jonathan

> On May 15, 2019, at 3:31 AM, Sebastian Moeller <moeller0 at gmx.de> wrote:
> 
> Hi All,
> 
> 
> I believe the following to be relevant to this discussion: https://apenwarr.ca/log/20180808
> Where he discusses a similar idea including implementation albeit aimed at lower bandwidth and sans the automatic bandwidth tracking.
> 
> 
>> On May 15, 2019, at 01:34, David P. Reed <dpreed at deepplum.com> wrote:
>> 
>> 
>> Ideally, it would need to be self-configuring, though... I.e., something
>> like the IQRouter auto-measuring of the upstream bandwidth to tune the
>> shaper.
> 
> @Jonathan from your experience how tricky is it to get reliable speedtest endpoints and how reliable are they in practice. And do you do any sanitization, like take another measure immediate if the measured rate differs from the last by more than XX% or something like that?
> 
> 
>> 
>> Sure, seems like this is easy to code because there are exactly two ports to measure, they can even be labeled physically "up" and "down" to indicate their function.
> 
> IMHO the real challenge is automated measurements over the internet at Gbps speeds. It is not hard to get some test going (by e.g. tapping into ookla's fast net of confederated measurement endpoints) but getting something where the servers can reliably saturate 1Gbps+ seems somewhat trickier (last time I looked one required a 1Gbps connection to the server to participate in speedtest.net, obviously not really suited for measuring Gbps speeds).
> In the EU there exists a mandate for national regulators to establish and/or endorse an anointed "official" speedtests, untended to keep ISP marketing honest, that come with stricter guarantees (e.g. the official German speedtest, breitbandmessung.de will only admit tests if the servers are having sufficient bandwidth reserves to actually saturate the link; the enduser is required to select the speed-tier giving them a strong hint about the required rates I believe).
> For my back-burner toy project "per-packet-overhead estimation on arbitrary link technology" I am currently facing the same problem, I need a traffic sink and source that can reliably saturate my link so I can measure maximum achievable goodput, so if anybody in the list has ideas, I am all ears/eyes.
> 
>> 
>> For reference, the GL.iNet routers are tiny and nicely packaged, and run
>> OpenWrt; they do have one with Gbit ports[0], priced around $70. I very
>> much doubt it can actually push a gigabit, though, but I haven't had a
>> chance to test it. However, losing the WiFi, and getting a slightly
>> beefier SoC in there will probably be doable without the price going
>> over $100, no?
>> 
>> I assume the WiFi silicon is probably the most costly piece of intellectual property in the system. So yeah. Maybe with the right parts being available, one could aim at $50 or less, without sales channel markup. (Raspberry Pi ARM64 boards don't have GigE, and I think that might be because the GigE interfaces are a bit pricey. However, the ARM64 SoC's available are typically Celeron-class multicore systems. I don't know why there aren't more ARM64 systems on a chip with dual GigE, but I suspect searching for them would turn up some).
> 
> The turris MOX (https://www.turris.cz/en/specification/) might be a decent startimg point as it comes with one Gbethernet port and both a SGMII and a PCIe signals routed on a connector, they also have a 4 and an 8 port switch module, but for our purposes it might be possible to just create a small single Gb ethernet port board to get started. 
> 
> Best Regards
> 	Sebastian
> 
>> 
>> -Toke
>> 
>> [0] https://www.gl-inet.com/products/gl-ar750s/
>> _______________________________________________
>> Cerowrt-devel mailing list
>> Cerowrt-devel at lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> 
> _______________________________________________
> Bloat mailing list
> Bloat at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat



More information about the Cerowrt-devel mailing list