|
|
TCP BBR从Linux 4.9 内核开始,就作为它内核的一部分存在了,如果想使用BBR,那么首先就是判断内核版本是否大于4.9,如果符合版本标准,那么直接启动BBR就可以了,如果低于4.9,升级内核之后启动就行了。
- Z2 X4 M0 @2 h- t; J, O一,使用一键脚本安装和启动BBR。
/ w/ D) @$ {; u( v 推荐使用秋水逸冰的一键脚本,具体可以参考:0 K3 A0 ^) L; I( `9 L# T2 ]
https://www.cnblogs.com/sunylat/p/9521562.html
' s% i* ^! q. [( ?5 P 如果一键脚本不能访问,那么可以下载我在这里保存的秋水逸冰的一键脚本:
# F& a, U0 }% n1 e https://www.cnblogs.com/sunylat/p/9521561.html
$ B: [& y# h0 v, E 一键脚本,大大简化了手动处理的过程,大致的升级过程如下:: T. I: c% O. Z* l
1,安装ELRepo库。+ @# r, |( P" T7 i
2,启动TCP BBR。
; D* Q ]$ z; i6 g" J5 ~- r+ b 3,更新系统默认启动内核为新内核。
1 m* J- q' z& }$ r* f二,手动升级内核安装和启动BBR。
+ ~! Z) B4 \" u" T/ X- c' f6 x 1,手动升级内核。我在Cent OS 6 中升级内核的整个过程,见下面博客:
* N: X& ~& J. g0 C3 u# r2 v# T( B [url]https://www.cnblogs.com/sunylat/p/9518563.html[/url]/ h1 p: K/ U. I. o" |1 U
2,启动BBR。依次执行下面命令就可以了。4 }* j, v6 T3 f; V
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf $ q4 k% x4 R9 ~ \% `& E. J5 {
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf % I8 b/ C& ~, `
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf 2 T h* ^1 W& t8 _
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf , n) O. T6 W& M! E* I: z; O* S
sysctl -p * b/ T2 ?2 C b0 g- b( o
reboot 6 o) i% c$ W) I; b0 S- x" w0 G
当系统重新启动后,BBR就已经可以使用了!6 @$ n8 j# m/ [0 S. K, X& V) t5 w
3,验证BBR是否已经可用。! `5 p n2 n4 \8 V! w, B/ R
A,验证当前TCP控制算法的命令:8 P7 g* x0 f8 Q7 j
sysctl net.ipv4.tcp_available_congestion_control
: V/ z9 E0 x$ g, Q3 o% h& _! [6 l 返回值一般为:/ F3 Z1 P1 \3 M1 E
net.ipv4.tcp_available_congestion_control = bbr cubic reno
5 ?5 k9 ]5 k# s+ n7 S 或者为:
9 p: x5 p5 z) X5 c6 ]( ^ net.ipv4.tcp_available_congestion_control = reno cubic bbr/ j7 q8 R& S/ ]/ E$ H; M' r
B,验证BBR是否已经启动。
! m& z$ t9 p: m. ^9 C: |7 R6 I$ t sysctl net.ipv4.tcp_congestion_control 9 t, s' e; o1 u7 k. y
返回值一般为:
( w! a6 L4 ~( u net.ipv4.tcp_congestion_control = bbr% O/ G: T) o7 G
lsmod | grep bbr # M* x' ^; f6 y$ J4 r0 A7 K
返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。, J# w; K, ^. x/ @; n% x% i5 m
三,停止BBR。依次执行下面命令就可以了。 5 U% ^9 h/ Q4 q6 N& U6 E
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
9 v- H4 G, O: m, i# l) F" I) o+ @ sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
$ y+ i/ s2 U! F1 V sysctl -p
% d" _" e O! Z$ E/ j; S/ V* Q reboot " K* ?+ [" |! P2 k- p5 H# |# W
: L) ~' a" k+ E$ G' z
) [$ H/ M* ]% V
|
|