网路颠簸,尤其是晚高峰的时候,我们访问国外的服务器难免会出现速度缓慢的问题,如果我们的服务器为Linux系统,好在Debian 9系统内核版本为4.9.x,其内核自带了由Google开发的BBR拥塞算法,我们能很方便的开启BBR进行访问加速。
Debian 9系统开启Google BBR拥塞控制算法方法
首先,先说一下开启方法。其实开启很简单,只需要三行命令即可:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
如果正常执行之后没有报错的话,需要重启一下系统,让配置生效。
重启之后,执行如下命令查看配置是否成功生效:
root@zocodev:~# lsmod | grep bbr
tcp_bbr 20480 0
如果有如上类似输出,则证明Google BBR配置成功了。
Debian9配置Google BBR相关问题
查看网站相关统计信息,发现有些朋友对于是否开启BBR(Bottleneck Bandwidth and RTT)有些疑问,下面是从搜索引擎过来的朋友最多的几个问题的相关解答。
debian9 可以不安装bbr吗?
可以,BBR只是Linux内核中自带的其中一种拥塞算法,如果网络环境优秀,不开启也没关系。
Debian 9.5是否可以开启BBR?
根据各个发行版的一贯做法,每个大版本,如果没有意外,内核大版本是不会变的,比如说Debian 9,自带的内核版本是Linux 4.9,即使系统更新到了Debian9.5或者以后的Debian9.6、9.7、9.8或者9.9,其内核大版本都是4.9,只是小版本会更新,而如果没有意外,已经有了的功能是不会变的,也就是说,只要是Debian9系统,不管小版本是多少,都是可以开启的。
Debian GNU/Linux 9 (stretch)需要安装bbr吗
如上所述,BBR只是一种TCP拥塞控制算法,如果服务器位于网络情况不是很好的环境比如说隔着太平洋的美国VPS或者欧洲那些路途遥远车多路少的情况,建议是开启BBR以获得更好的访问体验。而且,Debian9系统不需要安装BBR,因为内核已经自带了,我们只需要上面三行代码将其开启就好了。
BBR对UDP协议是否有效?
BBR只是Google针对TCP协议开发的拥塞控制算法,对UDP是无效的。
BBR是否需要客户端软件支持?
BBR是单向加速算法,不需要客户端支持,我们只需要在服务器上配置好就可以了。
国内的阿里云、腾讯云等服务器是否需要开启BBR?
一般来说,除了宽带不足的情况或者没做BGP跨网访问,比如阿里云或者腾讯云,我们访问国内的服务器速度都比较好,可以不用开启也行,当然,如果开启也没什么影响。
开启了BBR访问服务器还是好慢怎么办?
BBR只能优化访问速度,而不能更换服务器的物理宽带,如果开启了BBR还是访问缓慢,建议还是给服务器换个网络环境或者换个VPS服务商,比如说一些绕路的VPS,或者是OVH、OnLine那种服务器及对国内电信、联通、移动三大运营商没做接入的,建议还是扔了吧,网络太渣BBR也抢救不过来的。这里推荐一下国内直连、稳定快速的搬瓦工VPS,除了有低延迟的香港服务器,还有基于CN2 GIA中美顶级民用线路的VPS。
BBR无法启动
首先,我们说的Debian 9自带BBR,指的是类似于KVM、HyperV及VMWare的那种可以自定义内核的,如果你的VPS是基于OpenVZ架构的,可能无法直接开启BBR,需要通过别的方法才能启动BBR;如果是基于XEN架构的VPS,请先确定是否可以自定义内核,因为有些Xen架构的VPS是不允许自定义内核的,通过这个命令可以看到内核版本:uname -r。
如何删除/卸载/关闭BBR
配置了BBR之后,如果不想要了需要卸载的话,可以删除/etc/sysctl.conf上面添加的那两行,重启一下就好了。
BBR是否会多消耗服务器流量?
对比BBR带来的访问速度,BBR多消耗的服务器流量不值得一提,除非是按流量付费的服务器,否则大多数情况下可以不用考虑BBR带来的多出的流量消耗。