关于BBR

BBR,Bottleneck Bandwidth and RTT,谷歌开源的一种TCP拥塞控制算法(tcp_congestion_control):

https://github.com/google/bbr

已经提交到 Linux v4.9 及以上版本内核的TCP堆栈中。

即在 Linux 4.9 及以上版本可直接开启bbr?

# 查看 Linux 内核版本
root@ptr:~# uname -a
Linux ptr 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3 (2019-09-02) x86_64 GNU/Linux
查看当前系统使用的TCP拥塞控制算法
# 可以查看进程文件
root@ptr:~# cat /proc/sys/net/ipv4/tcp_congestion_control 
cubic
# 或者使用 sysctl 命令
root@ptr:~# sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic

使用的是 cubic 算法,是 Linux 2.6 之后默认的TCP拥塞控制算法。

cubic 是基于丢包的拥塞控制,而 bbr 是基于拥塞的拥塞控制。

以后有空再研究这些什么什么算法吧。

未开启 bbr 前的速度:

那么 Linux 4.9 版本怎么开启bbr?

开启 bbr,其实就是把 sysctl 的变量 net.ipv4.tcp_congestion_control 改一下。

# 修改 qdics 为 fq 平台(fq平台对高负载服务器表现更好)
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
# 修改TCP拥塞控制算法
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
# 应用 sysctl 配置
sudo sysctl -p

# 查看是否开启 tcp_bbr 模块
root@ptr:~# lsmod | grep bbr
tcp_bbr                20480  1

开启 bbr 后的速度:

虽然测试小鸡的网络不大好,但是速度的提升还是可见的。

更改 Linux 内核以开启 BBR

有新小鸡再记录吧…

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注