路由器 Bufferbloat 游戏延迟怎么降?2026 测试与 SQM 设置
简答:路由器 Bufferbloat 是带宽被下载或上传占满时,队列过长导致游戏延迟和抖动升高。先用负载测速确认,再通过 SQM 配置 CAKE 或 FQ-CoDel,并分别调低下载、上传整形速率。
定义:Bufferbloat 指网络设备在高负载时缓存过多数据,使排队等待时间变长,从而造成游戏 Ping 飙升、延迟尖峰和语音卡顿。
先试这一步:确认是不是 Bufferbloat
本文是第三方使用指南,更新于 2026 年 11 月 14 日。典型症状是空载 Ping 正常,但有人下载、上传、云备份或观看高码率视频时,游戏延迟突然升高。Bufferbloat 解决的是本地拥塞造成的额外排队延迟,不能降低游戏服务器距离带来的基础 Ping。
- 固定测试环境:优先让电脑通过网线连接主路由器,暂停其他测速、云同步和下载任务。无线测试会把 Wi-Fi 干扰混入结果。
- 记录空载延迟:Windows 打开命令提示符,执行
ping -t 192.168.1.1,记录路由器响应;另开窗口执行ping -t 1.1.1.1,记录互联网响应。路由器地址如果不是192.168.1.1,先用ipconfig查看“默认网关”。 - 进行负载测试:打开 Waveform Bufferbloat Test,分别观察下载负载和上传负载期间的延迟变化。该测试关注“负载下延迟”,不是只看空载 Ping。
- 按现象判断:如果访问路由器的 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 的可操作步骤

- 先备份配置:通过 SSH 登录路由器,执行
sysupgrade -b /tmp/router-backup-$(date +%F).tar.gz。预期结果是/tmp/下生成备份文件。若提示Permission denied,确认使用管理员账户;如果设备没有sysupgrade,使用 LuCI 的系统备份功能,菜单名称以当前固件为准。 - 确认 WAN 接口:执行
ubus call network.interface.wan status。输出中应能看到接口状态和设备信息。若你的宽带使用 PPPoE,实际整形接口可能是 PPPoE 逻辑接口;不要凭名称猜测,先在 LuCI 的网络接口页面确认。 - 安装 SQM 组件:执行
opkg update && opkg install luci-app-sqm。如果只使用命令行,可安装sqm-scripts。出现Unknown package时,先检查软件源、固件架构和系统时间,不要直接下载不匹配的安装包。 - 打开配置页面:在 LuCI 中进入“网络”下的 SQM QoS 页面,启用实例并选择 WAN 接口。OpenWrt 官方页面说明,常见队列算法可选择
cake或fq_codel,但菜单位置和字段名称可能随固件版本变化,需以当前界面为准。 - 设置初始速率:先关闭 SQM,使用同一测试设备和同一测试服务器测出下载、上传结果;然后把下载和上传整形速率分别设置为实测速率的约 90% 至 95% 作为起点。该比例不是保证值:如果负载延迟仍高,逐步下调;如果延迟已稳定但吞吐损失明显,可小幅上调。
- 关闭冲突的硬件流量卸载:如果启用 SQM 后测试结果几乎不变,检查硬件流量卸载、软件流量卸载或厂商加速开关。OpenWrt 官方 SQM 页面明确提示,硬件流量卸载可能绕过内核路径,与 SQM 不兼容。关闭前记录原状态,便于撤销。
- 保存并复测:重新执行空载、下载负载、上传负载测试,同时观察
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。如果关闭后网络仍异常,恢复此前备份,或重新启用原来的硬件卸载设置。不要在没有备份的情况下直接覆盖整套网络配置。
不同宽带与设备的调参判断
- 光纤或以太网:下载和上传通常分别调参。先以实测速率的 90% 至 95% 起步,再根据负载延迟与吞吐量逐步调整。
- PPPoE:整形接口和链路开销可能与普通以太网不同。若速率设置看似正确但仍有延迟尖峰,检查 PPPoE、VLAN 和链路层开销设置,不要直接套用其他接入方式的数值。
- Cable:下载方向可能受到运营商设备控制,上传方向也可能更容易出现队列堆积。分别测试两个方向,不能只配置下载。
- DSL:链路层开销对结果影响更明显。OpenWrt 文档列出了 ATM、VDSL 和 Ethernet with overhead 等不同选项,具体选择需根据线路类型确认。
- 4G、5G 或 Starlink:速率可能动态变化,固定整形速率可能在不同时间段不合适。先验证问题是否随接入速率变化,再考虑动态速率方案;这类配置需以设备和固件支持为准。
- 千兆及以上宽带:SQM 需要路由器 CPU 实时处理流量。若启用后 CPU 满载、吞吐明显下降或丢包增加,说明设备处理能力可能不足。可降低整形速率、尝试 FQ-CoDel,或更换支持更高吞吐的设备;不能仅凭“游戏路由器”名称判断。
判断修复是否有效,应以同一台设备、同一连接方式、相近时间和相同测试服务器前后对比。理想结果不是空载 Ping 变低,而是下载或上传占满时,额外延迟明显减少且游戏、语音不再被本地带宽竞争拖慢。
如果 SQM 没解决,按这个顺序继续排查
- 先排除 Wi-Fi:用网线复测。如果网线稳定、Wi-Fi 仍抖动,检查无线信道、距离、Mesh 回程和其他无线设备,而不是继续调 WAN SQM。
- 再看路由器性能:观察 CPU、内存和接口错误计数。启用 SQM 后才出现高 CPU、低吞吐或丢包,优先降低整形速率或更换算法。
- 检查是否是局部应用:暂停云同步、系统更新、游戏启动器下载和 NAS 备份,逐项恢复,找出真正占满上行或下行的设备。
- 检查 ISP 或游戏路径:如果空载和负载时都高,或只有某个游戏服务器异常,使用
tracert 服务器IP查看路径,并与其他服务器对比。中间某一跳显示高延迟不一定代表终点异常,重点看后续跳点和最终目标。 - 检查实际丢包:如果游戏表现为断续、重连或语音断音,不能只看延迟。对路由器网关和公网目标分别持续 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、路由器性能、局域网占用和公网路径问题。
相关阅读
参考资料
- Bufferbloat FAQs(bufferbloat.net)
- Tests for Bufferbloat(bufferbloat.net)
- Cake FAQ(bufferbloat.net)
- OpenWrt Wiki: SQM (Smart Queue Management)(openwrt.org)
- OpenWrt Wiki: SQM Details(openwrt.org)
- Bufferbloat and Internet Speed Test - Waveform(waveform.com)