首页 帮助中心 HKT VPS开启BBR加速:TCP性能提升实操教程 !
HKT VPS开启BBR加速:TCP性能提升实操教程 !
时间 : 2026-06-21 14:30:16
编辑 : 华纳云
阅读量 : 33

  HKT VPS的CN2 GIA线路质量本身就不错,从深圳实测延迟能做到28ms左右,但默认的TCP内核参数还是为局域网环境设计的,在香港到大陆这种跨境链路上跑不满带宽是常有的事。

  Google开发的BBR拥塞控制算法,正好能解决这个问题。它跟传统CUBIC算法不一样,CUBIC靠检测丢包来降速,把丢包都当成拥塞,在跨境网络这种随机丢包常见的情况下,动不动就降速,吞吐量上不去。BBR则是持续测量带宽和往返时间,主动估计链路的实际承载能力来调整发送速率,不依赖丢包判断,在长距离、高带宽的链路上能把带宽利用率从30%-60%拉到接近上限。

  下面这份实操教程,适合Ubuntu 20.04/22.04和Debian 10/11系统。步骤不复杂,跟着做就行。

  一、检查当前内核版本

  BBR要求Linux内核版本在4.9以上。先确认一下当前版本够不够:

uname -r

  如果输出是4.9.0或更高(比如5.4.0-xx6.x.x),直接跳到第二步。如果版本低于4.9,需要先升级内核。推荐用Ubuntu的HWE内核或者手动安装ELRepo源里的新版内核。

  二、开启BBR模块并设置队列规则

  BBR需要配合fq(公平队列)调度器一起用。用下面两条命令把配置写进系统配置文件:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

  然后让配置生效:

sysctl -p

  三、验证BBR是否启用成功

  执行下面这个命令,如果输出里能看到bbr,就说明BBR算法已经被系统识别了:

sysctl net.ipv4.tcp_available_congestion_control

  再确认一下当前正在用的拥塞控制算法是不是BBR:

sysctl net.ipv4.tcp_congestion_control

  如果输出是net.ipv4.tcp_congestion_control = bbr,就说明已经切换成功了。

  到这里,BBR就算正式开启了。但仅仅是"开启"还不够,要让BBR在香港到大陆这条链路上真正发挥威力,下面这几项内核参数得跟着调。

  四、配套内核参数调优(这一步很关键)

  很多教程只教开BBR,但真正决定提速效果的,是缓冲区大小、队列长度这些参数的配合。把下面这段配置追加到/etc/sysctl.conf文件里:

# 基础网络性能
net.core.somaxconn = 65536
net.core.netdev_max_backlog = 65536

# 增大socket最大收发缓存(关键)
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

# TCP读写缓冲区(适配香港到大陆的链路)
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# 开启窗口缩放(让大带宽链路能用满)
net.ipv4.tcp_window_scaling = 1

# 开启SACK和FACK(丢包恢复更快)
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1

# 连接建立优化
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

# 重传和超时控制
net.ipv4.tcp_retries2 = 8
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3

  改完之后再次执行sysctl -p让新参数生效。

  五、验证效果:看看BBR到底起了多大作用

  可以用iperf3简单测一下,看开启BBR前后单线程TCP吞吐量的变化,效果一般很明显。

  在远端服务器(比如另一台机器)上跑服务端:

iperf3 -s

  在HKT VPS上跑客户端测试(把<远端IP>换成实际IP):

iperf3 -c <远端IP> -t 30 -i 1

  另外,用ss -ti命令可以实时看到当前TCP连接的拥塞控制算法和具体参数,确认BBR在工作状态:

ss -ti | grep bbr

  常见问答:

  问:我的系统是CentOS 7,内核版本低于4.9,怎么升级?

  答: CentOS 7默认内核是3.10,需要手动升级。推荐用elrepo源安装kernel-ml,过程不复杂,但升级后记得改/etc/default/grub设置默认启动新内核,然后重启。

  问:为什么我开启了BBR,但下载速度感觉没变化?

  答: 可能有几种情况:①内核参数没配套调优(尤其rmem_maxwmem_max);②检查网卡MTU是不是标准1500,MTU不对会导致分片增多影响性能;③如果是共享带宽或者商家做了限速策略,BBR也救不了。先逐项排查。

  问:BBR和BBR Plus有什么区别?哪个更快?

  答: BBR Plus是社区修改版,针对多线程做了优化,在某些场景下确实能跑出更高速度。但稳定性不如主线内核自带的BBR,生产环境优先用官方版本。

  问:开启BBR之后,TCP的延迟会变低吗?

  答: 不一定。BBR主要提升的是吞吐量(带宽利用率),不是直接降低物理延迟。但在网络拥塞的场景下,BBR能避免传统算法因丢包导致的频繁降速,间接让数据包到达得更快、更稳定。

相关内容
客服咨询
7*24小时技术支持
技术支持
渠道支持