网站搜索

如何使用 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'

要更新内核,请查看这些指南:

  1. 如何在 Ubuntu 中将内核升级到最新版本
  2. 如何在 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

  1. 如何使用“Speedtest-CLI”工具从命令行双向测试您的互联网速度

其他工具包括bmon(带宽监视器)、nload、Wget(基于命令的文件下载器)和cURL,它们都显示网络带宽;您可以使用它们进行测试。

BBR Github 存储库:https://github.com/google/bbr

您可能还想阅读以下相关文章。

  1. 设置您自己的“速度测试迷你服务器”来测试互联网带宽速度
  2. 如何通过 Trickle 限制 Linux 系统中应用程序使用的网络带宽
  3. 如何以持久和非持久方式更改内核运行时参数

在本文中,我们展示了如何在 Linux 中使用 TCP BBR 拥塞控制来提高 Linux 服务器的互联网速度。在不同场景下进行全面测试,并通过下面的评论表向我们提供任何重要反馈。

图片来源:Nixcraft