User Tools

Site Tools


linux:bbr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux:bbr [2018/01/08 12:33] percylinux:bbr [2018/01/08 14:40] (current) – [BBR] percy
Line 1: Line 1:
 ====== BBR ====== ====== BBR ======
-BBR is the optimization for the tcp, and it can increase the network speed significant. So it's the same as kcptun.+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 ===== ===== BBR on Raspberry Pi =====
Line 10: Line 10:
  
 ==== Enable bbr ==== ==== Enable bbr ====
 +  sysctl net.core.default_qdisc=fq
 +  sysctl net.ipv4.tcp_congestion_control=bbr
 +
 <code BASH> <code BASH>
 pi@raspberrypi:~ $  sudo sysctl net.ipv4.tcp_congestion_control=bbr pi@raspberrypi:~ $  sudo sysctl net.ipv4.tcp_congestion_control=bbr
Line 20: Line 23:
 net.ipv4.tcp_congestion_control = bbr net.ipv4.tcp_congestion_control = bbr
 </code> </code>
 +
 +==== 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 ====
 +<code>
 +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已启动。
 +</code>
 +
 +==== 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
 +
 +
  
  
/var/www/dokuwiki/wiki/data/attic/linux/bbr.1515385999.txt.gz · Last modified: 2018/01/08 12:33 by percy