← 中文资源

简体中文版本

面向目标并发的负载测试

负载测试以真实流量在预期水平上驱动系统,验证在必须承载的并发下延迟与错误率是否达标,并观察排队行为。

阅读英文原文

概念概述

面向目标并发的负载测试(Load Testing to Target Concurrency)指的是:负载测试以真实流量在预期水平上驱动系统,验证在必须承载的并发下延迟与错误率是否达标,并观察排队行为。

从更严格的定义看,Load testing is a type of performance testing that exercises a system at a defined expected workload to measure response time, throughput, and error rate under that demand. 该概念在工程实践中的价值,在于它能帮助团队用统一的语言描述一个具体的质量属性或设计约束,从而在评审与协作中减少歧义。

为什么需要它

It validates capacity plans and catches regressions before they reach users, using models of real traffic mix. 它与 Approval Testing、Test Parallelization and Sharding、Mock Objects and Behaviour Verification 等概念经常一起出现,用于解决相近的工程问题。理解它的适用场景,有助于在多种备选方案之间做出有依据的取舍,而不是凭直觉选择技术方案。

常见误解

  • generating many requests from one client models real concurrency
  • a single average latency hides nothing important

需要避免的反模式

  • testing with a uniform request mix unlike production traffic
  • using closed-loop clients that cannot reveal queueing delays

实践要点

  1. The generator must be able to apply real concurrency without becoming the bottleneck, or the results reflect the tester rather than the system under test.
  2. Latency should be reported as percentiles, because an average hides the tail that real users on slow paths experience.
  3. Open-loop generators that inject requests at a fixed rate reveal queueing behaviour that closed-loop clients, which slow down under load, conceal.

参考来源

https://en.wikipedia.org/wiki/Load_testing