qnet 中文文档 下载 App

Burst 突发阻塞模型:暂存与爆发式推送的测试价值

Burst 是 QNET 2.0 版重点新增的弱网模型。它模拟的是一种很真实的现象:路由器或底层硬件发现链路不通时先把包攒着,链路恢复后一口气推出去。数据一个不丢,但到达时间高度聚集。

机制拆解

从官方发布的波形示例可以直观看到差异:周期弱网页引用的「上行周期弱网-Burst 设置 1000ms 放行/1000ms 弱网时长」图中,每个恢复窗口都出现一簇陡峭的延迟尖峰——包都在,只是挤在同一时刻到达。

Burst 与完全丢包对照

维度完全丢包Burst
弱网时段的包丢弃暂存
恢复后等新请求重传旧数据集中涌到
应用层现象超时、断线一次性涌入大量过期数据
考验点超时/重连逻辑缓冲区、状态覆盖、乱序处理

Burst 最能暴露的三类 bug

  1. 状态覆盖错误:恢复瞬间旧数据晚到,把新状态覆盖回去(聊天消息顺序错乱、状态回退);
  2. 缓冲区溢出:爆发流量冲垮接收缓冲,引发崩溃或丢帧;
  3. UI 卡顿:一批过期渲染数据同时到达,界面短暂僵住。

这三类问题在静态丢包模板下永远不会出现,因为包根本回不来;只有 Burst 能重现「迟到但没缺席」的形态。

怎么组合参数

在 adb 自动化里对应的参数

Burst 在指令行里对应 out_burst/in_burst 键值,与放行参数成对使用,完整表见adb 参数速查表;想跑一个真实示例见adb 自动化实战。

一句话总结:完全丢包测「断」,Burst 测「乱」,两者结合才是完整的断线演练。