首页/开发/软件测试速查/协调遗漏(coordinated omission)

协调遗漏(coordinated omission)

协调遗漏:压测工具在目标时间点未发出请求时,会把这段等待从统计中剔除,导致延迟被系统性低估;用固定并发闭环模型记录时尤其明显,应按到达率发送或校正计时。

软件测试速查开发更新于 2026-10-13

协调遗漏是什么

协调遗漏(coordinated omission)是压测中的系统性测量误差:当工具为等待上一个响应而推迟发送下一个请求时,这段被迫等待的时间不会被计入任何请求的延迟。结果是——压测机停顿(如 GC、调度)或服务变慢时,响应时间统计反而显得平静,延迟被系统性低估,对外承诺的指标失真。

基本信息

本质迟到发送的请求,其等待时间被剔除出延迟统计
高发场景闭环模型(固定并发,响应后再发下一请求)
影响对外承诺的延迟指标被低估,容量结论偏乐观
缓解手段开环按到达率发送,或使用校正计时的工具
复核方法对比实测吞吐与目标到达率是否一致
对外承诺确认测量方法无系统性低估后再引用数字

闭环与开环对比

闭环与开环对比
闭环:每个虚拟用户等待响应后再发起下一请求
停顿后继续跑:迟到的请求不被记为慢,统计反而变好
开环:按目标到达率(如 200 请求/秒)定时发送,迟到照记
复核:实测吞吐明显低于目标到达率时,先怀疑工具侧瓶颈

典型使用场景

  • 容量评估:验证高负载下延迟分布是否被低估。
  • 指标评审:评审对外 SLA 数据前,确认压测方法是否校正过。
  • 工具对比:分析不同压测工具产生同一场景数据差异的原因。
  • 压测机自查:排查压测机 CPU、GC 停顿造成的工具侧瓶颈。
  • 故障复现:复现线上缓慢场景时,避免闭环模型掩盖真实延迟。
  • 方法培训:向团队解释「为什么数字好看不代表系统稳」。

现象与处理

现象原因处理
停顿后延迟统计变好等待时间未计入任何请求改用开环到达率模型
实测吞吐远低于目标到达率压测机或链路先饱和查明瓶颈再提高目标
不同工具结果差异大模型与计时方法不同统一模型与口径后再比较
长尾指标平缓不真实闭环下慢请求被摊薄用校正计时工具或开环模式重测
闭环模型不是不能用:日常冒烟与相对对比没问题,关键在于别把它的绝对值直接对外承诺。
开环模型下也要盯压测机自身资源:到达率发不出去时,同样会失真。
校正计时会让长尾指标显著变差——这是接近真实的数字,不是工具坏了。

易错点

  • 用闭环线程组的延迟数据对外承诺,指标被低估:对外数据改用开环或校正计时。
  • 压测机自身成为瓶颈,数据整体失真却未被察觉:压测时同步监控压测机 CPU 与网络。
  • 只看平均延迟作对比:协调遗漏首先扭曲的是长尾,p95/p99 与平均都要看。
  • 不清楚所用工具的计时方法:选型与建基线时先确认负载模型与计时规则。

数据来源与参考

  • Gil Tene:How NOT to Measure Latency(演讲与文章)
  • HdrHistogram 项目文档(延迟记录实践)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌