|
|
TCP BBR从Linux 4.9 内核开始,就作为它内核的一部分存在了,如果想使用BBR,那么首先就是判断内核版本是否大于4.9,如果符合版本标准,那么直接启动BBR就可以了,如果低于4.9,升级内核之后启动就行了。/ V* r2 |! W9 w: k$ h
一,使用一键脚本安装和启动BBR。! a' F) H0 w; \. @6 \
推荐使用秋水逸冰的一键脚本,具体可以参考:
' R6 g5 Y) G$ ]" c; E https://www.cnblogs.com/sunylat/p/9521562.html2 u h% l5 [) Y$ j% Y, `, y, v
如果一键脚本不能访问,那么可以下载我在这里保存的秋水逸冰的一键脚本:$ z6 M, s: n* G! }( [
https://www.cnblogs.com/sunylat/p/9521561.html
4 z2 I( H6 C J1 [0 u 一键脚本,大大简化了手动处理的过程,大致的升级过程如下:
& b% z1 \+ X% m# ~ 1,安装ELRepo库。
9 z9 E0 \. |( L1 ^- G 2,启动TCP BBR。
. p8 g4 n# C& Q R 3,更新系统默认启动内核为新内核。. i) U9 [+ W- c. J- `' C
二,手动升级内核安装和启动BBR。9 e: F: s0 m2 @/ H3 U% {( n
1,手动升级内核。我在Cent OS 6 中升级内核的整个过程,见下面博客:& `9 F4 r4 z2 D$ K' E6 D( S
[url]https://www.cnblogs.com/sunylat/p/9518563.html[/url]
/ ?* r* K0 ^- K5 C' X! J( } y 2,启动BBR。依次执行下面命令就可以了。
* {# C& o) q* m# {8 V% F sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
/ A( K; G7 k! z6 d! y, ~ sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf ' m ^; F5 c, t3 d
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
2 T1 K+ F c' d! d echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
' n( X$ }8 |, ^' e sysctl -p
, P+ Z5 F; h3 R' \ reboot
6 f# ^' W g& ~- C+ w) x, b 当系统重新启动后,BBR就已经可以使用了!
5 p; C9 P4 L3 G 3,验证BBR是否已经可用。+ V' r/ L; F* o1 V3 Q0 L" V8 }
A,验证当前TCP控制算法的命令:
8 L0 |% N2 v0 e1 J! s. | sysctl net.ipv4.tcp_available_congestion_control
: K# M$ h4 D; Y! I0 ?6 e) ?$ n 返回值一般为:
z: m+ V1 X: j: G net.ipv4.tcp_available_congestion_control = bbr cubic reno: S4 U/ X$ D% c
或者为:) ?4 ^& t& H* o& M6 s
net.ipv4.tcp_available_congestion_control = reno cubic bbr
) b# `9 M! u# T6 h/ R: V7 T B,验证BBR是否已经启动。! ~4 s" |4 i9 p" b% p' Y, S
sysctl net.ipv4.tcp_congestion_control
$ {2 Z7 d& D0 V0 A 返回值一般为:+ x+ |4 Y0 X7 E8 x# g
net.ipv4.tcp_congestion_control = bbr
+ R( l s+ f2 L; Z lsmod | grep bbr ! {7 y, c) a9 o* y9 s, ~
返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。/ W8 S" v& J# X. c
三,停止BBR。依次执行下面命令就可以了。
# l; z- O% A- j% g sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
# Q, V7 y4 r) v/ ]$ D# k sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf 6 ]! \) A: v! g6 O: B: Y
sysctl -p
+ z4 C% x z& z8 @7 N3 a reboot
. E) Y( |1 G( y2 G* p4 F8 c! ?
- p: a3 S* U( L- L9 [ l' h1 A8 e* k) X0 q: ~! q" Y
|
|