路由器 Bufferbloat 游戏延迟怎么降?2026 测试与 SQM 设置

更新于 2026-11-14 · wangluowen.com

简答:路由器 Bufferbloat 是带宽被下载或上传占满时,队列过长导致游戏延迟和抖动升高。先用负载测速确认,再通过 SQM 配置 CAKE 或 FQ-CoDel,并分别调低下载、上传整形速率。

定义:Bufferbloat 指网络设备在高负载时缓存过多数据,使排队等待时间变长,从而造成游戏 Ping 飙升、延迟尖峰和语音卡顿。

先试这一步:确认是不是 Bufferbloat

本文是第三方使用指南,更新于 2026 年 11 月 14 日。典型症状是空载 Ping 正常,但有人下载、上传、云备份或观看高码率视频时,游戏延迟突然升高。Bufferbloat 解决的是本地拥塞造成的额外排队延迟,不能降低游戏服务器距离带来的基础 Ping。

  1. 固定测试环境:优先让电脑通过网线连接主路由器,暂停其他测速、云同步和下载任务。无线测试会把 Wi-Fi 干扰混入结果。
  2. 记录空载延迟:Windows 打开命令提示符,执行 ping -t 192.168.1.1,记录路由器响应;另开窗口执行 ping -t 1.1.1.1,记录互联网响应。路由器地址如果不是 192.168.1.1,先用 ipconfig 查看“默认网关”。
  3. 进行负载测试:打开 Waveform Bufferbloat Test,分别观察下载负载和上传负载期间的延迟变化。该测试关注“负载下延迟”,不是只看空载 Ping。
  4. 按现象判断:如果访问路由器的 Ping 也明显升高,问题更接近 Wi-Fi、局域网或路由器自身;如果路由器 Ping 稳定而公网 Ping 在下载或上传时升高,优先检查 WAN 队列和 SQM。

Bufferbloat 项目测试说明建议通过下载、上传期间的延迟变化判断问题;其页面列出了 Waveform、Speedtest 和 Cloudflare 等测试方式。单次结果不能代表全天状态,建议在空载、下载负载、上传负载三种状态下各测至少两次。

测试现象更可能的位置下一步
空载正常,下载时公网 Ping 飙高下载方向队列启用 SQM,先调低下载整形速率
空载正常,上传时公网 Ping 飙高上传方向队列启用 SQM,先调低上传整形速率
网线正常,Wi-Fi 测试明显更差无线干扰或 Wi-Fi 队列先用网线复测,再检查信道、距离和无线设备负载
所有状态都高,且到游戏服务器路径异常线路、服务器距离或路由用 tracert 游戏服务器IP 对比路径,不要直接归因于 Bufferbloat

SQM、CAKE 和 FQ-CoDel 怎么选

SQM 是一套智能队列管理方法,通常组合流量整形、队列调度和主动队列管理;CAKE 与 FQ-CoDel 是可被 SQM 调用的队列算法。OpenWrt 官方说明指出,SQM 可缓解下载或上传高负载时产生的延迟,但它由路由器 CPU 执行,性能不足的设备可能无法跑满宽带速度。

方案适合场景注意事项
SQM + CAKE家用宽带、希望少调参数功能较完整,但 CPU 占用和吞吐损耗可能更高
SQM + FQ-CoDel路由器性能有限,先求稳定可作为 CAKE 跑不动或吞吐下降明显时的替代方案
普通 QoS只需要给设备或应用分配优先级单纯优先级不一定能控制 WAN 队列,不能等同于 SQM
游戏加速功能厂商提供的分类或路径优化功能功能名称和实现方式各不相同,需单独验证是否真正降低负载下延迟

优先使用 CAKE 的条件是:路由器 CPU 性能足够、固件支持完整配置,并且目标是同时改善多设备竞争时的延迟。若启用后吞吐明显下降、CPU 长时间满载或出现丢包,可改用 FQ-CoDel、降低整形速率,或确认设备是否支持硬件卸载与 SQM 的兼容组合。

Bufferbloat 项目的 CAKE 说明将 CAKE 描述为面向队列管理、流量公平和主动队列管理的综合方案;具体参数仍应以路由器固件和实际测试为准。

以 OpenWrt 为例:配置 SQM 的可操作步骤

以 OpenWrt 为例:配置 SQM 的可操作步骤
  1. 先备份配置:通过 SSH 登录路由器,执行 sysupgrade -b /tmp/router-backup-$(date +%F).tar.gz。预期结果是 /tmp/ 下生成备份文件。若提示 Permission denied,确认使用管理员账户;如果设备没有 sysupgrade,使用 LuCI 的系统备份功能,菜单名称以当前固件为准。
  2. 确认 WAN 接口:执行 ubus call network.interface.wan status。输出中应能看到接口状态和设备信息。若你的宽带使用 PPPoE,实际整形接口可能是 PPPoE 逻辑接口;不要凭名称猜测,先在 LuCI 的网络接口页面确认。
  3. 安装 SQM 组件:执行 opkg update && opkg install luci-app-sqm。如果只使用命令行,可安装 sqm-scripts。出现 Unknown package 时,先检查软件源、固件架构和系统时间,不要直接下载不匹配的安装包。
  4. 打开配置页面:在 LuCI 中进入“网络”下的 SQM QoS 页面,启用实例并选择 WAN 接口。OpenWrt 官方页面说明,常见队列算法可选择 cake 或 fq_codel,但菜单位置和字段名称可能随固件版本变化,需以当前界面为准。
  5. 设置初始速率:先关闭 SQM,使用同一测试设备和同一测试服务器测出下载、上传结果;然后把下载和上传整形速率分别设置为实测速率的约 90% 至 95% 作为起点。该比例不是保证值:如果负载延迟仍高,逐步下调;如果延迟已稳定但吞吐损失明显,可小幅上调。
  6. 关闭冲突的硬件流量卸载:如果启用 SQM 后测试结果几乎不变,检查硬件流量卸载、软件流量卸载或厂商加速开关。OpenWrt 官方 SQM 页面明确提示,硬件流量卸载可能绕过内核路径,与 SQM 不兼容。关闭前记录原状态,便于撤销。
  7. 保存并复测:重新执行空载、下载负载、上传负载测试,同时观察 ping -t 的延迟。SSH 中可执行 tc -s qdisc show 查看队列统计;如果没有统计变化,通常说明选错接口、SQM 未启用或流量被卸载路径绕过。

OpenWrt SQM 官方文档给出了安装 luci-app-sqm、选择 CAKE 或 FQ-CoDel,以及硬件流量卸载兼容性的说明。OpenWrt SQM Details还说明了速率、链路层开销和 DSL、Cable、PPPoE 等接入方式可能影响整形参数。

撤销方法:在 SQM 页面取消启用并保存;命令行可执行 /etc/init.d/sqm stop。如果关闭后网络仍异常,恢复此前备份,或重新启用原来的硬件卸载设置。不要在没有备份的情况下直接覆盖整套网络配置。

不同宽带与设备的调参判断

判断修复是否有效,应以同一台设备、同一连接方式、相近时间和相同测试服务器前后对比。理想结果不是空载 Ping 变低,而是下载或上传占满时,额外延迟明显减少且游戏、语音不再被本地带宽竞争拖慢。

如果 SQM 没解决,按这个顺序继续排查

  1. 先排除 Wi-Fi:用网线复测。如果网线稳定、Wi-Fi 仍抖动,检查无线信道、距离、Mesh 回程和其他无线设备,而不是继续调 WAN SQM。
  2. 再看路由器性能:观察 CPU、内存和接口错误计数。启用 SQM 后才出现高 CPU、低吞吐或丢包,优先降低整形速率或更换算法。
  3. 检查是否是局部应用:暂停云同步、系统更新、游戏启动器下载和 NAS 备份,逐项恢复,找出真正占满上行或下行的设备。
  4. 检查 ISP 或游戏路径:如果空载和负载时都高,或只有某个游戏服务器异常,使用 tracert 服务器IP 查看路径,并与其他服务器对比。中间某一跳显示高延迟不一定代表终点异常,重点看后续跳点和最终目标。
  5. 检查实际丢包:如果游戏表现为断续、重连或语音断音,不能只看延迟。对路由器网关和公网目标分别持续 Ping,区分局域网丢包与公网路径丢包。

Bufferbloat 项目建议把高负载延迟作为判断依据;而 OpenWrt 文档也提醒,SQM 处理的是拥塞队列,不会修复无线干扰、服务器距离、运营商路由异常或设备本身性能不足。

常见问题

路由器 Bufferbloat 游戏延迟是什么?

它是下载或上传占满时,路由器或接入设备队列过长造成的额外等待时间。典型表现是空载 Ping 正常,带宽被占用后游戏延迟、抖动或语音延迟明显增加。

Bufferbloat 一定要换更高速宽带吗?

不一定。更高带宽可能减少达到拥塞的机会,但不能保证消除队列问题。应先用下载和上传负载测试确认,再尝试 SQM、CAKE 或 FQ-CoDel;如果空载和负载都高,还要排查服务器距离、ISP 路由和 Wi-Fi。

CAKE 和 FQ-CoDel 哪个更适合游戏?

两者都可用于 SQM,不能脱离路由器性能和接入方式直接判断。CAKE 功能更完整但可能需要更多 CPU;FQ-CoDel 可作为性能不足或 CAKE 吞吐损失明显时的替代方案,最终以负载测试前后结果为准。

为什么 SQM 设置为实测速率的 90% 左右?

整形速率需要略低于真实瓶颈,才能把队列控制权移到路由器。90% 至 95% 只是起始范围,不是固定标准;如果延迟仍高就逐步下调,如果吞吐损失过大且延迟稳定则小幅上调。

打开 SQM 后游戏还是卡,下一步查什么?

先用网线重复测试,再查看路由器 CPU、接口错误和 <code>tc -s qdisc show</code> 统计;随后暂停云同步和下载任务,最后用 <code>tracert</code> 与持续 Ping 对比游戏服务器路径。这样可以区分 Wi-Fi、路由器性能、局域网占用和公网路径问题。

相关阅读

参考资料

  1. Bufferbloat FAQs(bufferbloat.net)
  2. Tests for Bufferbloat(bufferbloat.net)
  3. Cake FAQ(bufferbloat.net)
  4. OpenWrt Wiki: SQM (Smart Queue Management)(openwrt.org)
  5. OpenWrt Wiki: SQM Details(openwrt.org)
  6. Bufferbloat and Internet Speed Test - Waveform(waveform.com)
读者交流群(Steam · 主机 NAT · 丢包交流):t.me/wangluowen_chat