那天刷到一个关于jmeter的教学视频,里面说到了APDEX,很陌生的一个词,于是就去百度了一下,记录下来也相当于一个学习笔记了。
什么是APDEX
APDEX英文全称是:Application Performance Index,翻译过来的意思大概就是“应用程序性能指数”。这个指数从用户满意度角度将系统性能进行量化,并把用户满意度分为三个维度:
- 满意(Satisfied):应用响应时间低于或等于Apdex阈值。
- 可容忍(Tolerating):应用响应时间大于Apdex阈值,但同时小于或等于4倍的Apdex阈值。
- 烦躁期(Frustrated):应用响应时间大于4倍的Apdex阈值。
如何计算APDEX
简单来说APDEX其实就是一个用户满意度指数,那么如何计算这个用户满意度,主要分为三个步骤:
第一步,设置APDEX阈值,相当于设置一个标准,比如设置APDEX阈值为0.5秒。这个标准是根据测试系统要求进行设置的,当然也有些性能监控系统会有默认的APDEX阈值:比如OneAPM默认阈值为 0.5 秒;APM拓扑阈值默认为100毫秒;APM事务阈值默认为500毫秒等等。
第二步,统计不同维度用户满意度的次数。设置好APDEX阈值之后就可以开始进行性能测试了,然后根据测试结果,对比阈值统计用户满意、可容忍和烦躁期三个维度分别有多少次。比如下图就是性能测试的一次结果:其中满意次数50次、可容忍次数0次、令人沮丧次数30次、错误次数0次,共80次调用。
第三步,计算APDEX的值,对比分析,得出用户对应用系统的综合满意度。
计算公式:Apdex=(满意样本*1+可容忍样本*0.5+令人沮丧样本*0)/样本总数
代入计算:Apdex=(50*1+0*0.5+30*0)/80=0.63
对比分析:Apdex取值范围为0~1,0 代表没有满意用户,1则代表所有用户都满意。