4 ms·
You mean you told the PHY to renegotiate at 10M with something like `ethtool -s <dev> speed 10`? While stumbling around attempting to figure out `tc qdisc` a w
by exikyut 5y ago
You mean you told the PHY to renegotiate at 10M with something like `ethtool -s <dev> speed 10`?
While stumbling around attempting to figure out `tc qdisc` a while back I found that the shaping it was applying was very synthetic, such that asking for low bitrate and high latency would mean the kernel would just wait a second or two then shunt several KB of data through at once. IIRC I was just playing with the default approaches you'd find bandied about on tutorial websites and such. (I'm still looking for a way to synthetically limit a link in ways that are physically accurate.)
Remembering that experience got me thinking - without any idea what I'm talking about, I'm wondering if the PHY layer is doing something vaguely similarly stupid-simple that does technically limit the line rate to 10Mb at full blast, but still allows throughput to very briefly burst higher than that.
I think speedtest websites try to measure both the burst rate and the line rate, so perhaps something's gotten very tangled up on both the PHY and JS sides.
Now I'm curious what model PHY (well, NIC) you're using.
FWIW, Chrome's devtools has a network rate limiter built in (network tab, dropdown that says "No throttling", open that and hit "add"... aaaand remember that it's persistent (for just the tab) until you turn it back off :) lol)
Edit: Just found https://news.ycombinator.com/item?id=31063184 https://news.ycombinator.com/item?id=31063184 downthread describing seeing 100Mbps through a 10Mbit hub. I think you've either found a technical bug or a, uh, "the speedtest is good so my internet must be fine" "bug" (which would be very interesting).
- zinekeller 5y agoAh, apologies for not responding here. It's (shocks in disgust) a Realtek one, I forgot which specifically, but the "smart" switch (ugh, I hate the naming everything smart) definitely said that it's only a 10M Ethernet connection. Using Chrome's limiter, capped at 5,000,000 bits/sec (5Mbps) both direction: Speedtest.net: 5.00Mbps in both directions (nice, are they're including overhead in these calculations?) Cloudflare: 4.80Mbps downlink, 4.81Mbps uplink (well, it's true now) Fast.com: 5.0Mbps downlink, 58Mbps uplink (holy crap, that's not what I've expected) So I will re-test Cloudflare again at link-limited PHY, but Fast.com's test seems a little weird.
- exikyut 5y agoAll good - realtek aren't that bad at the end of the day, I'm running my internet connection through a 100M ADMtek card from ~2004 :D Well it probably was 10M then. The port LED on the switch might've changed color as well. (Smart reminds me of the consumer-lite answer to SDN.) I just tried fast.com myself using 100kbps and it quite happily measured at line rate (6.8M+800k, yay D:). For some bizarre reason I found I needed to open a new tab, open the devtools, set the network speed, then load fast.com for it to work. My guess is that Chrome applies connection ratelimiting metadata as new connections are created, such that existing sockets still in keepalive aren't affected. I'd say that's at least a documentation bug. I'm not really able/sure how to reproduce the other comment I linked (using an actual 10M switch and seeing 100M of throughput). That's really interesting.