5 ms·
Fix it on Linux by enabling BBR TCP congestion control. cat << EOF >> /etc/sysctl.conf net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr EO
by y0ssar1an 8y ago
Fix it on Linux by enabling BBR TCP congestion control.
cat << EOF >> /etc/sysctl.conf
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF
sudo sysctl -p
1. You will need a recent kernel.
2. net.ipv4.tcp_congestion_control=bbr applies to IPv6 too.
3. You must set the queuing discipline to fq or it won't work.
- comesee 8y agoDoes this work for linux routers or just the endpoint machine?
- y0ssar1an 8y agoJust the endpoint machine.
- jdc 8y agoRunning 30mbps fibre and getting marginally better results (upload especially) with these settings: net.core.default_qdisc = fq_model net.ipv4.tcp_congestion_control = cubic
- aorth 8y agoGuessing you meant fq_codel instead of fq_model?
- jdc 8y agoYeah, good catch.
- AstralStorm 8y agoCuBIC tends to produce funny shark tooth transfer rate patterns on an uneven connection especially in presence of packet loss and unexpected congestion.
- JackMinello 8y agoOn newer kernel is no longer required to install the "fq" qdisc to use BBR
- wtallis 8y agoMore specifically, it appears to require this commit[1] that's in kernels 4.13 and later. [1] https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=218af599fa635b107cfe10acf3249c4dfe5e4123 https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-ne...
- aorth 8y agoInteresting! From a related discussion in 2017 on the bbr-dev mailing list: BBR will run well with fq_codel only after linux-4.13 (not yet released) Before linux-4.13, BBR _needs_ fq packet scheduler. fq is not fq_codel. See: https://groups.google.com/forum/#!topic/bbr-dev/4jL4ropdOV8 https://groups.google.com/forum/#!topic/bbr-dev/4jL4ropdOV8
- sliken 8y ago300 mbit connection, ubuntu 18.04, linux-4.15.0 and I still get an F after the above tweaks.
- deleted 8y ago[deleted]
- cesarb 8y agoDoesn't this have to be done on the sending computer? Doing it on your computer would make a difference only when uploading; when downloading, the server you're downloading from would also need this setting.