|
|
TCP BBR从Linux 4.9 内核开始,就作为它内核的一部分存在了,如果想使用BBR,那么首先就是判断内核版本是否大于4.9,如果符合版本标准,那么直接启动BBR就可以了,如果低于4.9,升级内核之后启动就行了。# S* }, }: e; x' y3 {2 r* y- P/ ~
一,使用一键脚本安装和启动BBR。' d; ~* @! G& E0 S0 D2 ^
推荐使用秋水逸冰的一键脚本,具体可以参考:
7 a# h5 N+ q, y7 `0 V6 E. R+ q https://www.cnblogs.com/sunylat/p/9521562.html L# ?: z3 D* m+ V; c! \0 N P! e
如果一键脚本不能访问,那么可以下载我在这里保存的秋水逸冰的一键脚本:( t) N; q6 C0 e- K5 Q \& O
https://www.cnblogs.com/sunylat/p/9521561.html
' e: e" m1 |0 l 一键脚本,大大简化了手动处理的过程,大致的升级过程如下:+ ~* _6 F1 T( [4 J
1,安装ELRepo库。
) v5 }& {9 v( {3 i; L6 a 2,启动TCP BBR。
1 x/ w' k# _- C4 O 3,更新系统默认启动内核为新内核。
4 p3 _9 Z6 B: c* f" f2 N/ ?( r二,手动升级内核安装和启动BBR。. l$ `9 `* v0 l% X# P
1,手动升级内核。我在Cent OS 6 中升级内核的整个过程,见下面博客:
+ b1 {, ~5 m! h [url]https://www.cnblogs.com/sunylat/p/9518563.html[/url]
, _3 M3 ?0 y- z( h$ c) L! B7 ] 2,启动BBR。依次执行下面命令就可以了。" k2 c/ ]9 p# t
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf 2 u1 Z3 Q1 g- @: i& X
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
) j' O6 P4 I9 F" k- [( l O% O& ^' a7 u echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf / z Q6 [3 M4 u8 z
echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
$ F7 }5 i/ k! F1 `: I( A9 A sysctl -p ; M6 F, Y, X5 h* B& M+ ~/ H4 T# m
reboot 6 V1 B# [4 w. f5 ]
当系统重新启动后,BBR就已经可以使用了!- s( ]; `7 O( T* M0 n0 r
3,验证BBR是否已经可用。2 h3 [2 h# u8 y, T
A,验证当前TCP控制算法的命令:
7 O% x7 y: f7 l+ e. S sysctl net.ipv4.tcp_available_congestion_control . @5 r8 ?2 P( h; j
返回值一般为:
& r! i g) c4 A6 T net.ipv4.tcp_available_congestion_control = bbr cubic reno
9 I7 t9 u* D' d 或者为:
- X6 T- C/ s1 C- m: j# J net.ipv4.tcp_available_congestion_control = reno cubic bbr
) U' O+ G% G9 X, ]5 z. u W4 u B,验证BBR是否已经启动。
) P' U! {4 R6 P sysctl net.ipv4.tcp_congestion_control
5 F0 o6 o! ^ Z* r2 F 返回值一般为:
5 g F. }& S* j' E3 G" t# E4 Z' K net.ipv4.tcp_congestion_control = bbr" y# i: o5 [* ?! W9 K
lsmod | grep bbr
' M4 \, C3 f7 A 返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。
. e7 U6 F7 P9 G+ Z( Y三,停止BBR。依次执行下面命令就可以了。
6 m9 h+ G+ J7 S& S* F, S# R sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
; s l4 o/ Y# F0 S8 c sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
9 X3 j7 t7 [+ G- H" C sysctl -p + t7 m* N' o5 C- D& _; `& E* C! A; `# b
reboot
* s V% q) W3 ^3 z7 t# n4 c' A9 R+ L4 @' X& a9 D& ?' [
" l( ^; K0 g* \9 ~$ A( M$ j
|
|