很早之前就给自己的博客服务器和家里的树莓派开启了 bbr ,提升下访问的速度,最近感觉博客慢慢变卡了,今天也是朋友偶然提到了bbr,顺便看了博客服务器的 bbr 还有没有开启,发现没有开启...
于是就查了下资料,发现 只要Linux内核版本 大于4.9 就已经支持了这个算法,也不需要和之前那边修改特定的内核版本来开启bbr,使用的网上的各种脚本来启用。现在 方便了 内核版本 高于4.9 配置一下就开启了 非常方便
手动开启bbr 教程:
树莓派比较简单,一般最近安装系统的 内核都是大于4.9了
sudo bash -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf'
sudo bash -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'
sudo sysctl -p
centos:
查看内核版本号
#uname -r
CentOS Linux (3.10.0-1127.8.2.el7.x86_64) 7 (Core)
才发现 内核版本 居然还是3.10 似乎比较古老了
升级一下吧
依次在输入命令
yum update -y
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y
更新以后应该内核已经安装上了,但是没有设置开机启动到最新内核
所以要设置下开机默认启动到新内核
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
#这里要注意一下,当上面的里面执行以后 会列出系统内已经安装的内核,
从上往下数,从0开始0123这样,所以下面 default 1 你看看你自己的最新的内核排在第几个,我是排在第二行,所以是1
grub2-set-default 1
reboot
重启以后 在查看一下 当前运行的 内核版本号
uname -r
我这边输出
CentOS Linux (5.6.15-1.el7.elrepo.x86_64) 7 (Core)
大于 4.9 就开始下一步操作吧
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
sysctl -p
自此就已经开始了bbr,但是我们还是需要检测一下 是否开启成功,核对一下 返回内容
输入:sysctl net.ipv4.tcp_available_congestion_control
返回:net.ipv4.tcp_available_congestion_control = bbr cubic reno
或者:net.ipv4.tcp_available_congestion_control = reno cubic bbr
输入:sysctl net.ipv4.tcp_congestion_control
返回:net.ipv4.tcp_congestion_control = bbr
输入:lsmod | grep bbr
返回:tcp_bbr 20480 24
这样就成功了,去体验一下bbr带来的快感吧