“道琼斯指数帮助人们衡量股市行情变化,Apdex 指数帮助您衡量用户心情变化。“
一.为什么需要 Apdex
性能指数,Apdex(Application Performance Index)是一个国际通用标准,Apdex 是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,把最终用户的体验和应用性能作为一个完整的指标进行统一度量。
在网络中运行的任何一个应用(Web、数据库、E-mail 等等),它的响应时间决定了用户的满意程度。以 Web 应用为例,当用户进行一次 http 链接时,客户端和服务器之间会产生很多个交互(一个交互指一次客户端的请求和服务器的响应),http 链接这一动作产生的所有交互完成之前,用户无法进行下一步的操作,比如下载文件或者跳转当下一个 http 链接。
用户等待所有交互完成时间的长短直接影响了用户对应用的满意程度。这才是对用户有真正意义的“响应时间”,Apdex 把完成这样一个任务所用的时间长短称为应用的“响应性”。
二.我们是如何计算 Apdex
基于“响应性”,Apdex 定义了 3 个用户满意度区间( OneAPM 默认定义的 T 值为 0.5 秒):
- 满意:这样的响应时间让用户感到很愉快,响应时间少于 T 秒钟。
- 容忍:慢了一点,但还可以接受,继续这一应用过程,响应时间 T~4T 秒。
- 失望:太慢了,受不了了,用户决定放弃这个应用,响应时间超过 4T 秒。
“满意”、“容忍”、“失望”这三个区间通过响应时间数值 “T” 来划分,T 值代表着用户对应用性能满意的响应时间界限或者说是“门槛”(Threshold),也就是第一个区间“满意”的底线,如 0.5 秒,满意区间就是 0~0.5 秒;响应时间超过 T 值用户就有些不满了,下一个区间“容忍”的界限值则是 T 和 4T,即 0.5~2 秒之间为容忍区间;响应时间再长用户就开始考虑放弃了,最后一个区间“失望”的响应时间则大于 4T,即多于 2 秒。
之后,Apdex 对应用中发生的任务进行采样,并且按其响应时间把采样划分到相应的满意度区间,计数,再用一个公式计算 Apdex 指数:
应用程序性能满意度的标准,范围在0-1之间,1表示达到所有用户均满意。是由APDEX公司推出的。计算公式:
这样,采样结果被量化为一个 0 到 1之间的数值即 “Apdex 指数”,0 代表没有满意用户,1则代表所有用户都满意。经过统计,Apdex 把这个数值与用户满意程度细化对应,如下图所示,对于应用性能的 Apdex 评分与用户的体验紧密关联,为管理者提供了一种通过应用性能量化值来评估用户满意度的方法。
T 值在 OneAPM 中叫做 apdex_t,在 oneapm 配置文件中配置。单位是秒。