|
TCP BBR从Linux 4.9 内核开始,就作为它内核的一部分存在了,如果想使用BBR,那么首先就是判断内核版本是否大于4.9,如果符合版本标准,那么直接启动BBR就可以了,如果低于4.9,升级内核之后启动就行了。
: l- ^& a" O+ t) W- A1 f一,使用一键脚本安装和启动BBR。
2 R( q1 u4 ?3 b) I! } 推荐使用秋水逸冰的一键脚本,具体可以参考:
6 o2 M- A, `/ e https://www.cnblogs.com/sunylat/p/9521562.html% P" n' \6 o! G8 [) R3 S
如果一键脚本不能访问,那么可以下载我在这里保存的秋水逸冰的一键脚本:
: R! z) Y, l0 F& P. N' y* p https://www.cnblogs.com/sunylat/p/9521561.html
; {6 |" ]* m* P 一键脚本,大大简化了手动处理的过程,大致的升级过程如下:: |& Y9 W8 A: E( \2 X
1,安装ELRepo库。7 g# ]7 _: |. [, z/ i' J
2,启动TCP BBR。
$ l/ x% J9 P z4 X8 i5 J2 _ 3,更新系统默认启动内核为新内核。4 }- G) O0 i9 O5 }9 W$ U; E; a
二,手动升级内核安装和启动BBR。: c5 m: B o% D
1,手动升级内核。我在Cent OS 6 中升级内核的整个过程,见下面博客:7 m/ A' h4 a0 J6 x& z& F r
[url]https://www.cnblogs.com/sunylat/p/9518563.html[/url]$ I& `& O* ^- N) l
2,启动BBR。依次执行下面命令就可以了。- z; B7 V1 @- T* u5 m
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
% f7 c$ d' D1 [) w sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf 5 Z: l' V3 P; y! `1 T' ?* G" C. b; C
echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf ' ^; ?) D$ ?& ]4 O$ r
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf C" o5 k8 h: J7 X. V" V
sysctl -p
/ _$ o6 |9 F" C! m reboot
+ O, g1 @0 E% q) ?7 m9 O: ^" b1 `0 ~ 当系统重新启动后,BBR就已经可以使用了!' X) q' N% o# j# g( Z* L- V6 ?# z
3,验证BBR是否已经可用。
2 t r. n$ f6 i8 l8 r, k; w A,验证当前TCP控制算法的命令:0 S! p3 y; ~. K8 t+ S. J9 z
sysctl net.ipv4.tcp_available_congestion_control
; ~4 \, U f4 `6 o, N1 u; I; E 返回值一般为:4 X( T4 f3 \' b5 h
net.ipv4.tcp_available_congestion_control = bbr cubic reno
7 l- Y7 n; e* s# c) s. M; @ 或者为:
2 j3 Q! {- s4 h* ?: Q0 p6 _ net.ipv4.tcp_available_congestion_control = reno cubic bbr
9 p2 G0 [! z# p! b B,验证BBR是否已经启动。$ C- q: K; y4 R" X, Q+ u' H
sysctl net.ipv4.tcp_congestion_control
|( g+ @) p$ W 返回值一般为:
5 C6 @) D/ |' s. ` net.ipv4.tcp_congestion_control = bbr$ P r3 f8 U$ \1 X
lsmod | grep bbr $ y( f4 h1 K' a( o( T) j7 H
返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。
3 r: a" |0 ]' {9 O5 ?' E三,停止BBR。依次执行下面命令就可以了。
' l$ J, N" L2 y; U. n+ Q# D/ l0 A sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
9 ]4 g: j+ b ] sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf 0 ~7 R; ~$ t" v: B1 F
sysctl -p
+ i* X" {6 E% Z8 @' y0 ^ reboot 2 L6 N' m2 i3 \$ N- T: ~
( P& h, t4 G! n8 C1 L$ v! D; B o) b) I
; s; p E/ v* @ |
|