通过启用TCP BBR轻松提升Ubuntu网络性能

本教程向您展示如何在Ubuntu上启用TCP BBR。 TCP BBR是Google开发的TCP拥塞控制算法。 它解决了传统TCP拥塞控制算法(Reno或CUBIC)的缺点。 据谷歌称,它可以实现更高数量级的带宽和更低的延迟。 自2017年7月以来,TCP BBR已在Google.com,YouTube和Google Cloud Platform上使用,互联网工程任务组(IETF)已对该算法进行了标准化。BBR代表瓶颈带宽和RTT。

BBR仅需要在发送方进行更改。 您可以在Linux桌面上启用TCP BBR,以改善整体Web冲浪体验。 如果您有Linux Web服务器,TCP BBR可以为您的网站访问者实现更快的网页下载。

如何在Linux上检查TCP拥塞控制算法

默认情况下,Linux使用 RenoCUBIC 拥塞控制算法。 要检查可用的拥塞控制算法,请运行以下命令。

sysctl net.ipv4.tcp_available_congestion_control

输出:

net.ipv4.tcp_available_congestion_control = cubic reno

要检查当前使用的拥塞控制算法,请运行

sysctl net.ipv4.tcp_congestion_control

输出:

net.ipv4.tcp_congestion_control = cubic

安装Linux内核4.9或更高版本

从内核版本4.9开始,Linux支持TCP BBR。 使用以下命令检查您的Linux内核版本。

uname -r

Ubuntu 18.04的内核为4.13。

4.13.0-16-generic

在Ubuntu 16.04桌面上,内核版本为4.10。

4.10.0-40-generic

在Ubuntu 16.04服务器上,情况有所不同,具体取决于您的VPS提供商。 例如,Linode VPS提供了内核4.9。

4.9.50-x86_64-linode86

DigitalOcean提供了内核4.4。

4.4.0-81-generic

非常容易安装 Linux内核4.10 在Ubuntu 16.04上。 您无需从Ubuntu网站手动下载内核。 只需安装 硬件启用堆栈 (HWE),它为Ubuntu LTS版本提供了更新的内核。

sudo apt update

sudo apt install --install-recommends linux-generic-hwe-16.04

您的VPS提供商可能使用自定义Linux内核,而不是Ubuntu提供的内核。 如果您使用Linode VPS,则需要转到Linode VPS控制面板,编辑您的配置文件。

在启动设置中,将内核设置为 GRUB2

启用bbr ubuntu

保存您的更改。 然后重新启动以使用新的4.10内核。

sudo shutdown -r now

在Ubuntu中启用TCP BBR

拥有4.9或更高版本的内核后,请编辑sysctl.conf文件。

sudo nano /etc/sysctl.conf

在文件末尾添加以下两行。

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

保存并关闭文件。 然后重新加载sysctl配置。

sudo sysctl -p

现在检查使用中的拥塞控制算法。

sysctl net.ipv4.tcp_congestion_control

输出:

net.ipv4.tcp_congestion_control = bbr

恭喜! 您已在Ubuntu上成功启用TCP BBR。

速度改进

我在低端VPS上使用了Shadowsocks代理来测试TCP BBR。 速度提升巨大。 以下屏幕快照显示了在我的代理服务器上启用TCP BBR之前的YouTube连接速度。 如您所见,速度仅为400Kb / s(50KB / s)左右。

在Ubuntu 16.04上启用TCP BBR

这是在我的代理服务器上启用TCP BBR后的YouTube连接速度。 9878 Kb / s约为1234 KB / s。 我的代理服务器快了24倍!

启用google tcp bbr ubuntu

在第二个Shadowsocks代理服务器上,启用TCP BBR后,速度从大约10Mbit / s增至大约62Mbit / s(64172Kbit / s)。

TCP BBR性能提升

而已! 我希望本教程可以帮助您在Ubuntu上启用TCP BBR。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多有用的提示和技巧。

Sidebar