前言

你知道吗?下载/上传速度慢除了宽带带宽小(只能氪金解决)外还受到丢包、设备转发延迟以及网卡带宽等的影响。这篇文章主要是有一定幅度解决有关丢包等因素对下载/上传速度的影响。

BBR是什么? BarBaRa(芭芭拉),闪耀登场! 其实是一种由Google开发的TCP阻塞控制算法。传统的TCP阻塞控制算法 Cubic 是不受当前网络情况控制的,只会无脑发包,包丢了就重发的。这极大程度影响了收发包速度。而 BBR 从无脑发包变成主动感知网络环境,随机应变地发包。它会根据当前的丢包率以及带宽使用情况自动调整发包速率,还会大幅度提高数据包吞吐量。这可以有一定幅度减少丢包率并跑满带宽。

BBR已经嵌入到Linux 4.9+,所以只要Linux内核版本大于4.9的,都可以开启。貌似Windows也有(?)但是我不管。

注意:BBR 只对 TCP协议 有效,对 UDP协议 完全无效。打游戏(大部分)/看视频(部分是视频流以UDP发包)等使用UDP协议的情况无效。

查看BBR开启情况

终端输入命令:

sysctl -n net.ipv4.tcp_congestion_control

返回 cubic的是没有开启

返回 bbr的是已经开启了

启用BBR

终端打命令:

sudo vim /etc/sysctl.d/20-BBR.conf
# 按i然后打入:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
# 随后:wq保存退出
sudo reboot

注意:对于sysctl相关的设置都是重启后生效

完成这一步后可以看看上面那一步,看看BBR是否开启了。

实际效果

作者物理机的BBR是开启的

看看开启BBR后的测速结果(作者当时300Mbps宽带)

结果只供参考,请以实际情况为准

作者实感:访问网页速度(毕竟是要极短时间内发送大量GET请求以请求网站资源)有些提升,下载/上传的时候基本上宽带带宽都被跑满的那种,TCP连接时丢包率有所降低。

最后

在VPS等服务器上开启BBR会有奇效(大部分),这对挂网站等疯狂建立TCP连接的情况非常有利。

最后修改:2024 年 04 月 21 日
欸嘿,不如点一杯奶茶给我吧