I think back to when I had 1/2 mbit ADSL and the question why did that connection never have issues when downloading stuff, and its all to do with how aggressive data is sent.
Now days we have congestion providers designed to send as much as possible for fat connections, aggressive recovery from packet loss etc. may be some justification in the days of high RTT, but now we also have CDN's which keep RTT low and multi threading.
I mentioned the BBR algorithm in a thread weaver created, this aims to have "just enough" of a window size to hit high 90s capacity of a pipe. But hardly anyone uses it currently.
So today I am downloading a game from ubisoft's launcher, I had to throttle the download to less than 30% of my throughput capacity to get packet loss low enough to an acceptable level, was still jitter. A very aggressive throttle. However I then tried another trick, I set windows auto tuning to disabled which is a brute force way of forcing low window size capped to 65k, the traffic graph went from a spiky mess with all its overshoots to a almost flatline at the cap I set and latency and loss were as if the connection was idle, I was able to raise the throughput to only a few meg/sec below my capacity and was still no obvious packet loss. All from reducing the window size.
I then sniffed the traffic. I had already confirmed a window size of 64k is enough to saturate my line, but if I left auto tuning enabled at the default normal setting it was negotiating a whopping 670kB window, over 10x what is needed, it can be capped to 256k using the highly restricted setting, but that offers only a small improvement. I think window auto negotiation is pretty broken at the moment, as if everyone is on gigabit or multi gigabit connections.
Of course capping my receive window to 64k isnt without consequence, anything not on a local CDN will have lower throughput which may or may not matter (not so much for web browsing, but more so if downloading), as well as anything single threaded might suffer as well such as streaming, although these are usually via local CDN so the effect is typically a slower initial buffer but still able to stream high definition.
Has anyone ever tried to tame this behaviour? The obvious way is plusnet style via packet inspection and modifying the window sizes, but I am thinking maybe just adding a high amount of artificial latency via dummynet to steam/ubisoft/origin/sony/xbox etc.