性能测试报告:平均响应时间及百分位点指标解读

科技一点鑫得 2024-03-07 13:40:39

响应时间是性能测试中一个非常重要的性能指标,在线系统中响应时间尤其重要,响应时间是从请求发出到得到响应所需的时间,即使重复发送同样的请求,每次得到的响应时间往往也不相同。在现实系统中,往往需要处理各种不同的请求,不同请求响应时间可能差异很大。因此响应时间应被视为一个可测量的数值分布,而不是单个值。

以JMeter性能聚合报告为例,可以看到除了平均值以外,还有中位数、90%百分位、95%百分位、99%百分位,这些指标都跟响应时间有关系。相信不少人可能更熟悉的是平均值,而对其他百分点位指标的意义和作用就没有那么熟悉了,我特意翻遍了我买的一本JMeter性能测试指南的书,竟然也没有关于百分点位的介绍。

下图中,每一个蓝条表示一次请求,其高度大小表示请求的响应时间,水平虚线表示的响应时间的算数平均值,对应JMeter聚合报告中的平均值。然而有时候平均值并不是一个很好的指标,比如平均值不能告诉我们有多少请求经历了这个延迟,通常使用"百分点位"会更好。

把所有请求响应时间按照从小到大的顺序排列,中间位置的值称为中位数,也叫50百分位点(参见下图)。有一半的请求响应时间小于中位数,而另一半大于中位数,也就是说中位数可以反映典型场景下的用户请求需要等待多长时间。

同样的方法,可以得到90百分点位、95百分点位、99百分点位(参见上图),这些高百分点位可以用来反映异常值有多糟糕。假如99百分点位的响应时间达到数秒等糟糕的结果,针对一个拥有百万级用户的系统来说影响到的用户数量也至少是一万用户,而这一万用户很可能也是最重要的高价值客户,而保证这些用户的满意度往往非常重要。

由此可见,通过解读深入理解性能测试相关的指标可以帮助我们更好地评估系统的性能状况,进而针对性地开展性能优化工作。希望这篇简短的文章能够让你对响应时间和百分点位的认识更加清晰,能够帮助你更好地开展性能测试工作。

0 阅读:0

科技一点鑫得

简介:感谢大家的关注