您的位置:

CentOS BBR,加速提升服务器网络瞬间爆发!

一、BBR是什么

BBR(Bottleneck Bandwidth and Round-trip propagation time)是Google研发的一种能够监控网络拥塞程度并自动调整发送数据速率的算法,能够显著提高网络传输效率,降低网络延迟。

BBR与传统拥塞控制算法不同,其主要目标是通过对网络拥塞的评估,通过动态调整发送速率和保证最小延时(BBR的另一项重要特性)来保证网络质量。

BBR已经被运用到Google的各项网络服务中,为用户提供更快、更稳定的网络体验。

二、为什么选择使用BBR

BBR是一种全新的网络拥塞控制算法,与传统的TCP算法相比具有显著的优势:

  • 更低的网络延迟。BBR在控制拥塞的同时考虑了最小延时,使得网络响应更加迅速,用户可以更快地获取页面、下载文件等。
  • 更高的网络传输速度。由于BBR能够充分利用网络带宽,从而提高传输速度。
  • 更好的网络稳定性。由于控制拥塞的更加精准,BBR可以降低网络出现丢包、拥塞等问题的概率。

三、如何在CentOS上安装BBR

在CentOS上安装BBR非常简单,请按照以下步骤操作:

#升级内核
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

#修改默认内核
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
grub2-set-default 'CentOS Linux (xxxx) 7 (Core)'
grub2-mkconfig -o /boot/grub2/grub.cfg

#重启系统
reboot

接下来,我们需要下载和安装BBR模块:

#下载BBR安装脚本
wget https://github.com/teddysun/across/raw/master/bbr.sh

#添加可执行权限
chmod +x bbr.sh

#运行脚本
./bbr.sh

#重启系统
reboot

重启后,我们可以使用以下命令检查BBR是否启用:

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

四、BBR的优化调整

BBR默认配置已经足够满足绝大部分的网络需求,但是如果您需求更高的网络性能,可以考虑进行以下优化调整:

  • 增加TCP最大缓存,默认只有512K,可以通过以下命令进行调整:
  •   echo 268435456 > /proc/sys/net/core/wmem_max
      echo 268435456 > /proc/sys/net/core/rmem_max
      
  • 调整TCP拥塞窗口,建议调整为TCP缓存的4倍:
  •   echo 524288 > /proc/sys/net/ipv4/tcp_window_scaling
      echo 1048576 > /proc/sys/net/ipv4/tcp_rmem
      echo 1048576 > /proc/sys/net/ipv4/tcp_wmem
      
  • 对于占用网络带宽较大的应用,可以将TCP窗口缩小,以避免对网络带宽占用太多:
  •   echo 32768 65536 1048576 > /proc/sys/net/ipv4/tcp_rmem
      echo 32768 65536 1048576 > /proc/sys/net/ipv4/tcp_wmem
      

五、总结

通过安装和优化BBR算法,我们可以在CentOS服务器上提升网络传输速度和稳定性,提高用户体验和网络应用的可靠性。如果您的服务器网络性能不佳,不妨一试BBR,或许会给您带来意想不到的惊喜。