如何使用 TCP BBR 提高 Linux 服务器的互联网速度
BBR(瓶颈带宽和 RTT)是一种相对较新的拥塞控制算法,由 Google 软件工程师编写。这是 Google 不断尝试通过 TCP 协议(互联网的主力)提高互联网速度的最新解决方案。
BBR 的主要目标是提高网络利用率并减少队列(导致网络活动缓慢):它应该部署在服务器上,而不是部署在网络或客户端中。在Linux中,BBR是在内核版本4.9或更高版本中实现的。
在本文中,我们将简要解释 TCP BBR,然后继续展示如何在 Linux 中使用 TCP BBR 拥塞控制来提高 Linux 服务器的 Internet 速度。
要求
您应该安装 Linux 内核版本 4.9 或更高版本,并使用以下选项进行编译(作为模块或内置到其中):
- CONFIG_TCP_CONG_BBR
- CONFIG_NET_SCH_FQ
- CONFIG_NET_SCH_FQ_CODEL
如何检查 Linux 中的内核模块
要检查上述选项是否已在您的内核中编译,请运行以下命令:
cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'
cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'
要更新内核,请查看这些指南:
- 如何在 Ubuntu 中将内核升级到最新版本
- 如何在 CentOS 7 中安装或升级到最新内核版本
在 Linux 中启用 TCP BBR 拥塞控制
BBR可以有效地配合调步,因此它必须与fq qdisc无类数据包调度程序一起使用来进行流量调步。要查找有关 fq qdisc 的更多信息,请键入:
man tc-fq
了解了 BBR 后,您现在可以在服务器上配置它了。使用您喜欢的编辑器打开 /etc/sysctl.conf 文件。
vi /etc/sysctl.conf
在文件末尾添加以下选项。
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
保存并关闭文件。然后使用sysctl命令在系统中进行更改。
sysctl --system
从屏幕截图中,您可以看到选项已添加了适当的值。
测试 TCP BBR 拥塞控制配置
执行必要的配置后,您可以测试它是否实际工作。有多种测量带宽速度的工具,例如 Speedtest-CLI:
- 如何使用“Speedtest-CLI”工具从命令行双向测试您的互联网速度
其他工具包括bmon(带宽监视器)、nload、Wget(基于命令的文件下载器)和cURL,它们都显示网络带宽;您可以使用它们进行测试。
BBR Github 存储库:https://github.com/google/bbr
您可能还想阅读以下相关文章。
- 设置您自己的“速度测试迷你服务器”来测试互联网带宽速度
- 如何通过 Trickle 限制 Linux 系统中应用程序使用的网络带宽
- 如何以持久和非持久方式更改内核运行时参数
在本文中,我们展示了如何在 Linux 中使用 TCP BBR 拥塞控制来提高 Linux 服务器的互联网速度。在不同场景下进行全面测试,并通过下面的评论表向我们提供任何重要反馈。
图片来源:Nixcraft