服务器开启BBR

BBR 是 Google开发的TCP拥塞控制算法,可以显著提高Linux服务器TCP传输的吞吐量。我最早是从Youtube上那帮做翻墙视频的人那里知道BBR的。翻墙服务器开启BBR后,观看4K Youtube视频毫无压力。受此启发,我把所有的服务器都开启了BBR,SFTP上传下载的速度提升有10倍以上,服务器上的网站访问也比以前流畅了。

查看Linux内核版本

从Linux 4.9内核开始,BBR已经加入到Linux内核之中。如果所使用的Linux系统内核版本大于4.9,就可以直接开启BBR功能。现在常用的的CentOS 8和Ubuntu 18.04的内核版本都大于4.9。如果你的系统内核低于4.9,需要自己安装BBR,但是不推荐新手这么做。我们可以使用如下命令查看Linux内核版本。

1
uname -r

查看BBR状态

1
sysctl net.ipv4.tcp_available_congestion_control


返回值为net.ipv4.tcp_available_congestion_control = reno cub,说明当前系统没有开启BBR。

开启BBR

1
2
3
sudo bin/su -c "echo 'net.core.default_qdisc=fq' >> /etc/sysctl.conf"
sudo bin/su -c "echo 'net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.conf"
sudo sysctl -p


再次,查看BBR状态

1
sysctl net.ipv4.tcp_available_congestion_control


此时,返回值为net.ipv4.tcp_available_congestion_control = reno cub bbr,说明BBR已经成功开启。

使用一键脚本

对BBR最为喜欢的是做翻墙的一群人,他们开发的一键脚本不仅支持官方的BBR算法,还有魔改BBR、BBR plus、锐速BBR。非官方BBR算法更加激进,比起官方BBR,在翻墙速度方面有所提升,但提升的幅度并没有是否开启BBR的差距大。考虑到稳定性,推荐只使用官方BBR。

1
2
3
wget -c https://static.biochen.com/software/tcp.sh
sudo chmod 755 tcp.sh
./tcp.sh