Google BBR 简介
Google BBR (Bottleneck Bandwidth and Round-trip propagation time) 是 Google 开源的一种 TCP 拥塞控制算法,旨在优化网络传输性能,特别是在高延迟、高丢包的网络环境中。该算法已从 Linux 内核 4.9 版本开始集成。
系统要求
- 支持的系统:CentOS 6+,Debian 7+,Ubuntu 12+
- 虚拟化技术:KVM、Xen、VMware 等(不支持 OpenVZ)
- 内存要求:≥ 128MB
一键安装脚本
以下脚本由秋水逸冰开发,它会自动安装最新版 Linux 内核并启用 BBR。请在具有 root 权限的终端中执行:
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
注意:脚本执行过程中会更新内核并重启系统,请确保在可重启的环境下操作。
验证安装
系统重启后,请按以下步骤验证 BBR 是否成功启用。
1. 检查内核版本
首先确认内核已升级到支持 BBR 的版本(通常为 4.9 或更高)。
uname -r
2. 检查可用的拥塞控制算法
运行以下命令,输出应包含 bbr。
sysctl net.ipv4.tcp_available_congestion_control
预期输出示例:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
3. 检查当前使用的拥塞控制算法
确认当前默认算法是否为 bbr。
sysctl net.ipv4.tcp_congestion_control
预期输出示例:
net.ipv4.tcp_congestion_control = bbr
4. 检查队列规则
检查默认的队列规则是否为 fq。
sysctl net.core.default_qdisc
预期输出示例:
net.core.default_qdisc = fq
5. 检查 BBR 内核模块
检查 tcp_bbr 模块是否已加载。
lsmod | grep bbr
预期输出应包含 tcp_bbr。请注意,并非所有环境都会显示此模块,若未显示但前几步验证成功,通常也表明 BBR 已正常工作。
故障排除与说明
- 脚本来源:本脚本来自开源社区,使用前请确保您信任其来源。对于生产环境,建议先在小规模测试环境中验证。
- 内核兼容性:如果您的系统已使用较新的内核(如 5.x),可能已默认启用 BBR,无需运行此脚本。
- 网络环境:BBR 的效果因网络环境而异,在部分网络条件下提升可能不明显。
- 手动配置:高级用户也可以手动修改
/etc/sysctl.conf文件来启用 BBR,但使用脚本更为便捷。
感谢分享,谢谢站长