BBR介绍

BBR (Bottleneck Bandwidth and RTT)算法对弱网络下提升性能有一定帮助。虽然说在国内很多公司也都内部有类似的内核协议栈的改进,并且很多的效果都不比google差,但是这个好歹是进入了kernel 主干的,大家都可以自由使用。

centos7 编译升级

centos编译内核rpm

yum -y install gcc ncurses ncurses-devel bc openssl–devel  perl-devel make localmodconfig make menuconfig # 选中BBR grep -i bbr .config #确认是否选中 make rpm

    ### 修改引导项目

grub2-set-default 0 grub2-mkconfig -o /boot/grub2/grub.cfg

重启后查看

[root@CentOS ipv4]# uname -a

Linux CentOS 4.9.0 #1 SMP Sat Dec 17 00:47:52 CST 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@CentOS ipv4]# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr reno cubic
    ## ubuntu 16.04升级
因为我买AWS EC2的时候忘记选磁盘了,磁盘只有8G,造成本地编译内核的时候发现编译不了。就网上找了几个deb包直接安装上了。
```bash
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

get http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb

sudo dpkg -i *.deb
sudo update-grub
sudo reboot

重启后设置内核参数


sudo sysctl -w net.ipv4.tcp_congestion_control=bbr