|
|
TCP BBR从Linux 4.9 内核开始,就作为它内核的一部分存在了,如果想使用BBR,那么首先就是判断内核版本是否大于4.9,如果符合版本标准,那么直接启动BBR就可以了,如果低于4.9,升级内核之后启动就行了。
9 F# n3 Y2 R" r: h6 |. q一,使用一键脚本安装和启动BBR。
. z8 k4 a1 b f8 N' G/ ` 推荐使用秋水逸冰的一键脚本,具体可以参考:; r/ M1 _+ [0 m$ K" A' ^
https://www.cnblogs.com/sunylat/p/9521562.html5 A) _! D7 d# |: [- a: \6 X( ^* @
如果一键脚本不能访问,那么可以下载我在这里保存的秋水逸冰的一键脚本:: n/ \$ q$ V2 a. ~
https://www.cnblogs.com/sunylat/p/9521561.html
% _4 G. O; m: S8 A/ ] 一键脚本,大大简化了手动处理的过程,大致的升级过程如下:8 I0 g! Y# [& E. f
1,安装ELRepo库。
+ Y( \+ f8 d& Q' u+ P( o 2,启动TCP BBR。3 D6 e- g- T: V* \2 [' q( l5 E/ P2 C
3,更新系统默认启动内核为新内核。& ^$ i$ n% R+ v8 b. \
二,手动升级内核安装和启动BBR。3 q: |9 P& Z3 J2 ^1 i! m8 Z
1,手动升级内核。我在Cent OS 6 中升级内核的整个过程,见下面博客:
! N5 k' l* [( A) o [url]https://www.cnblogs.com/sunylat/p/9518563.html[/url]7 V7 p0 a% j/ \* C
2,启动BBR。依次执行下面命令就可以了。
1 Q) s- z8 g# W2 X sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
5 l% ]3 `% a- S/ R" t& S sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
+ x9 L' y- s7 y7 ~9 E echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf . o" a8 L: i( U3 S
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf ' D4 @+ T9 k1 W0 N D
sysctl -p 5 U$ B0 F' D3 l
reboot 1 A, ^) F; O- |( z4 Z" y
当系统重新启动后,BBR就已经可以使用了!
0 s- h% W9 A3 e9 y 3,验证BBR是否已经可用。: o6 ]2 p+ j9 K/ P( }8 \; D& d
A,验证当前TCP控制算法的命令:
7 a g$ i& F2 C+ c. v. o sysctl net.ipv4.tcp_available_congestion_control 7 W# m) ^" o( ~7 k
返回值一般为:
5 h3 a' S( }" o7 I net.ipv4.tcp_available_congestion_control = bbr cubic reno& Q% Q* l- y* o$ R; v
或者为:( L6 R7 w4 u' j. H
net.ipv4.tcp_available_congestion_control = reno cubic bbr+ x ~% ^* ^8 v; f5 F5 Z
B,验证BBR是否已经启动。
8 b7 @5 s& i% V7 R1 \ sysctl net.ipv4.tcp_congestion_control ' E" [) q$ T( l P7 w4 C3 @$ x
返回值一般为:1 |4 u1 R' n3 @% g% e0 U
net.ipv4.tcp_congestion_control = bbr
& `5 t: g4 P h- H" z lsmod | grep bbr
2 x7 B: L" t9 I/ M 返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。7 k% U4 @/ n: m
三,停止BBR。依次执行下面命令就可以了。 % `3 s8 X& f, W; T" ?' C% j
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
, M( h9 v$ v! `; J! K5 E sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf : D* W, W! W/ [3 l( }
sysctl -p + J1 x2 m, n: j+ F2 ^
reboot 2 E4 u* v, o9 z# E8 H$ E; L
9 O7 ~/ r: _- p2 M9 \/ D" A w, ]7 E
|
|