====== BBR ====== BBR is the optimization for the tcp, and it can increase the network speed significant. So it's the same as [[linux:kcptun|kcptun]]. ===== BBR on Raspberry Pi ===== Check the kernel version, the kernel is already 4.9+, so it already support bbr pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux ==== Enable bbr ==== sysctl net.core.default_qdisc=fq sysctl net.ipv4.tcp_congestion_control=bbr pi@raspberrypi:~ $ sudo sysctl net.ipv4.tcp_congestion_control=bbr net.ipv4.tcp_congestion_control = bbr pi@raspberrypi:~ $ lsmod |grep bbr tcp_bbr 6366 18 pi@raspberrypi:~ $ sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno pi@raspberrypi:~ $ sysctl net.ipv4.tcp_congestion_control net.ipv4.tcp_congestion_control = bbr ==== DigitalOcean enable BBR ==== Refer - https://www.digitalocean.com/community/tutorials/how-to-update-a-digitalocean-server-s-kernel Install the grub loader in the console panel, first you need power off, then after install the grub loader, then power on. Install the new kernel, you can find the kernel what you want apt-cache search --names-only linux-image sudo apt-get install linux-image-4.11.0-13-generic linux-headers-4.11.0-13-generic Or sudo apt-get install linux-image-4.10.0-42-generic linux-headers-4.10.0-42-generic Actuall after install the above kernel, it doesn't support BBR, and the working kernel is following one, you need manual download and install it cd kernel4.9/ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb sudo dpkg -i linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb Update the grub sudo vim /etc/default/grub Add the line: GRUB_DISABLE_SUBMENU = Y export GRUB_CONFIG=`sudo find /boot -name "grub.cfg"` sudo update-grub Now you find all the kernel grep 'menuentry ' $GRUB_CONFIG | cut -f 2 -d "'" | nl -v 0 And you need update /etc/default/grub, and set update the index to the one your want GRUB_DEFAULT=0 Now you can reoot the VPS ==== Some tips ==== uname -r #查看内核版本,含有4.9.0就表示OK了 #------------ sysctl net.ipv4.tcp_available_congestion_control #返回值一般为: #net.ipv4.tcp_available_congestion_control = bbr cubic reno #------------ sysctl net.ipv4.tcp_congestion_control #返回值一般为: #net.ipv4.tcp_congestion_control = bbr #------------ sysctl net.core.default_qdisc #返回值一般为: #net.core.default_qdisc = fq #------------ lsmod | grep bbr #返回值有tcp_bbr模块即说明bbr已启动。 ==== Refer ==== - https://www.nmbhost.com/archives/1594 - https://blog.chenjia.me/articles/161229-000832.html - https://www.digitalocean.com/community/tutorials/how-to-update-a-digitalocean-server-s-kernel