Linux服务器开启TCP‑BBR拥塞控制算法实操教程

Linux服务器开启TCP‑BBR拥塞控制算法实操教程

服务器开启TCP‑BBR完整实操教程

BBR是谷歌推出的TCP拥塞控制算法,属于低成本的服务器网络调优方案,Linux内核版本达到4.9及以上就可以直接启用。

传统TCP拥塞控制逻辑偏向保守,网络出现少量丢包时,就直接判定链路发生拥塞,随即压低传输速率,会造成现有带宽资源没有得到充分利用。BBR的处理逻辑与之不同,它会持续探测链路实际瓶颈带宽与数据包往返延迟,以此计算合理的数据发送速率,让链路带宽得到充分利用。该功能仅需要在服务端完成配置,客户端不用做任何适配调整,在跨运营商、跨境这类高延迟、偶发丢包的网络环境中,可以降低访问时延,改善数据传输表现,同时缓解网络缓冲区堆积的问题。

执行配置命令

请使用root账号登录服务器SSH终端,复制下面整条命令直接回车运行:

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

执行结束之后,部分系统会提示需要重启服务器,输入y按下回车完成重启操作。

重启后校验BBR是否正常生效

服务器重启完成,重新登录SSH,依次执行下面几组命令,核对返回结果,确认配置已经持久化生效。

1. 查看当前运行内核版本

uname -r

输出显示内核版本大于等于4.9,代表内核本身支持BBR功能。

2. 查看系统可用的拥塞控制算法列表

sysctl net.ipv4.tcp_available_congestion_control

正常输出示例,bbr出现在返回字段内即可,顺序不影响使用:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

或者

net.ipv4.tcp_available_congestion_control = reno cubic bbr

3. 确认当前系统正在使用的拥塞控制算法

sysctl net.ipv4.tcp_congestion_control

预期返回:

net.ipv4.tcp_congestion_control = bbr

4. 确认队列调度器fq配置状态

sysctl net.core.default_qdisc

预期返回:

net.core.default_qdisc = fq

5. 查看tcp_bbr内核模块加载状态

lsmod | grep bbr

返回值有 tcp_bbr 模块即说明 bbr 已启动。示例输出:

tcp_bbr 20480 3
提示:有部分云服务器环境不会输出这条模块信息,没有输出也不代表配置失效,前面四项检查通过就可以正常使用BBR。

环境特殊处理说明

如果使用谷歌云GCP实例,更换内核、开启BBR后,有可能出现系统磁盘进入只读模式的故障,执行下面命令即可重新恢复读写权限:

mount -o remount rw /
补充提示:如果你的服务器内核版本低于4.9,需要先升级内核再执行以上配置,否则BBR无法正常启用。
文章广告横幅
网络违法犯罪举报平台 广告
© 版权声明
THE END
喜欢就支持一下吧
点赞95 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容