TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是一种由Google开发的拥塞控制算法,旨在提升网络传输效率。自从被集成进Linux内核后,BBR成为众多服务器和VPS用户优化网络性能的重要工具。其启用过程简单,只需几步即可完成,大大方便了运维人员和普通用户。
一键开启BBR的方法
对于希望快速部署BBR的用户来说,可以直接通过SSH执行以下命令,无需手动修改配置文件:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf \
&& echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf \
&& sysctl -p && sysctl net.ipv4.tcp_congestion_control
上述脚本会自动将必要参数写入系统配置,并立即生效。如果你喜欢使用第三方一键脚本,也可以选择teddysun提供的方案:
- 使用root权限登录你的服务器。
- 执行以下命令下载并运行脚本:
wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
chmod 755 /opt/bbr.sh
/opt/bbr.sh
安装过程中,脚本会提示是否重启VPS,请输入y
确认。重启后,即可验证BBR是否成功启用。
验证BBR状态
重启服务器后,可以通过以下方式检查BBR相关设置:
查看内核版本
uname -r
若显示为较新版本,则支持BBR。
查询可用拥塞控制算法
sysctl net.ipv4.tcp_available_congestion_control
返回结果中应包含
bbr
(如:bbr cubic reno)。确认当前使用的拥塞控制算法
sysctl net.ipv4.tcp_congestion_control
正确返回应为:
net.ipv4.tcp_congestion_control = bbr
检查默认队列调度器
sysctl net.core.default_qdisc
应显示为:
fq
检测tcp_bbr模块加载情况
lsmod | grep bbr
如果看到类似
tcp_bbr 20480 3
的输出,则说明模块已激活。不过部分VPS环境下未必有此返回,也属正常现象。
特别注意事项
在Google Cloud Platform(GCP)等云平台上更换内核时,有可能遇到磁盘变只读的问题。如果发生这种情况,可通过如下命令恢复读写权限:
mount -o remount rw /
参考信息来源:
- Teddysun's Blog
- Linux官方文档及社区资料