通过启用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使用 Reno
和 CUBIC
拥塞控制算法。 要检查可用的拥塞控制算法,请运行以下命令。
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。
保存您的更改。 然后重新启动以使用新的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)左右。
这是在我的代理服务器上启用TCP BBR后的YouTube连接速度。 9878 Kb / s约为1234 KB / s。 我的代理服务器快了24倍!
在第二个Shadowsocks代理服务器上,启用TCP BBR后,速度从大约10Mbit / s增至大约62Mbit / s(64172Kbit / s)。
而已! 我希望本教程可以帮助您在Ubuntu上启用TCP BBR。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多有用的提示和技巧。