Apdex 星级评定 | IT经理口袋中又多了一个数字
DevOps
Francis
互联网营销
5人收藏 2003次学习

Apdex 星级评定 | IT经理口袋中又多了一个数字

目前的应用程序性能测试工具有多方面的局限。每种工具都有其自己对性能的定义,产生太多混乱或矛盾的数值,并缺少简洁的结论。IT经理们无法深入了解性能,而这是软件与用户对关键应用的体验有关的事。

Apdex 介绍

Apdex联盟,一个由众多网络分析技术公司和测量工业组成的联盟组织,它们联合起来开发了“应用性能指数”即“Apdex”(Application Performance Index),用一句话来概括,Apdex是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,第一次把最终用户的体验和应用性能联系在了一起。

在网络中运行的任何一个应用(Web、数据库、E-mail等等),它的响应时间决定了用户的满意程度。那么这个“响应时间”是什么?是一个请求数据包得到响应的时间吗?不,这样一个孤立的响应时间再短对用户来说也毫无意义。举一个Web应用的例子,当用户进行一次http链接时,客户端和服务器之间会产生很多个交互(一个交互指一次客户端的请求和服务器的响应),而不是只有一个。可以想象缺少了这其中的任何一个交互,打开的网页都是残缺不全的,http链接这一动作产生的所有交互完成之前,用户无法进行下一步的操作。

换一个角度来看这个过程,进行http链接是用户使用Web应用时发生的一个任务(Task),只有这个任务完成,用户才能进行下一个任务(再次进行http链接,或下载文件等等)。用户在网络上使用一个应用的过程,就是发生连续的一系列任务的过程。

任务的概念非常重要,它是应用性能和用户体验的结合点。在完成一个任务之前,用户是在等待其完成才行下一个任务,这个等待时间片的长短直接影响了用户对应用的满意程度。这才是对用户有真正的意义的“响应时间”,Apdex把完成这样一个任务所用的时间长短称为应用的“响应性”。

基于“响应性”,Apdex定义了3个用户满意度区间:

  • 满意:用户获得充分的生产力。这是目标时间(T秒),即用户不受应用响应时间妨碍的时间段,例如3秒钟。
  • 容忍:用户注意到响应的性能滞后大于T,但继续这一过程,例如3~12秒。
  • 失望:响应时间大于F秒的性能即为不可接受,用户可能会放弃这一过程。F等于T×4,本例中为12秒。

“满意”、“容忍”、“失望”这三个区间通过响应时间数值“T”来划分,T值代表着用户对应用性能满意的响应时间界限或者说是“门槛”(Threshold),也就是第一个区间“满意”的底线,如3秒,满意区间就是0~3秒;响应时间超过T值用户就有些不满了,下一个区间“容忍”的界限值则是T和4T,即3~12秒之间为容忍区间;响应时间再长用户就开始考虑放弃了,最后一个区间“失望”的响应时间则大于4T,即多于12秒。

之后,Apdex对应用中发生的任务进行采样,并且按其响应时间把采样划分到相应的满意度区间,计数,再用一个公式计算Apdex指数:

结果为数值在0到1之间的小数。

比如有100个目标时间T等于3秒的样本。60个样本低于3秒,30个样本在3到12秒之间,余下的10个样本高于12秒。Apdex的算式如下:

0.753=(60+30/2)/100

实际上,这个公式的意义在于:

一个满意样本得分为:1

一个容忍样本得分为:0.5

一个失望样本得分为:0

因此公式也可以写成:

Apdex指数 =(1 × 满意样本 + 0.5 × 容忍样本)÷ 样本总数

这样,采样结果被量化为一个0到1之间的数值即“Apdex指数”,0代表没有满意用户,1则代表所有用户都满意。经过统计,Apdex把这个数值与用户满意程度细化对应,如下图所示,对于应用性能的Apdex评分与用户的体验紧密关联,为管理者提供了一种通过应用性能量化值来评估用户满意度的方法。

Apdex报告提供了展示应用状况的独特视图。用户可以轻松掌握每个应用的真正相关性能。例如,两个指数为0.85T的应用提供了相同水平的用户体验。CIO可以迅速看到哪些应用需要改进,哪些应用可以满足企业目标。

Apdex联盟计划于今年秋季完成Apdex规范的制定。联盟的成员正在为将Apdex报告添加到它们的产品或服务中而努力工作。此外,企业还可以通过将来自它们已经使用工具的样本输入到电子报表中并进行计算来实现Apdex。Apdex联盟的目标是使Apdex无需进一步向工具或管理系统投资就可以得到广泛使用。

若对Apdex感兴趣,可以访问网站www.apdex.org获得更多信息。

案例:WildPackets 遇上 Apdex

与其说WildPackets遇上Apdex,到不如说WildPackets“预谋”了与Apdex的相遇。事实上,WildPackets正是Apdex联盟的创始机构之一。现在,它旗下的所有系列产品,OmniAnalysis Platform、AiroPeek、EtherPeek针对网络上运行的应用,均提供行业标准的Apdex评分。

可以看到,在专家系统的统计里多出了一列“Apdex”,它是OmniPeek通过抓包分析对网络上运行的应用计算出的Apdex指数。在下面的截图中,Web应用得分为0.89,用户对此应用应该感到还不错(好);IM(即时消息)应用和TELNET应用得分分别为0.73和0.77,用起来感觉就一般了,不太满意,但是还可以接受。

Apdex在WildPackets的产品里如何工作?

在事件发现设置窗口(Expert EventFinder Settings)里可以看到,专家系统的事件里多了三个Apdex事件:

  • Apdex Score – Client Too Low
  • Apdex Task Ended – Tolerating User
  • Apdex Task Ended – Frustrated User

其中第一个事件的触发条件对应着Apdex得分,后两个事件的触发条件对应着Apdex任务(Task)的用户满意度区间:

对于这三个事件,当然是基于Apdex模型的,在WildPackets里Apdex的T值被称为“Apdex Threshold Duration”,默认为4.0秒,可以根据需求在事件发现设置窗口里改变这个值。例如,评估一个即时交易的应用,用户对响应时间要求较高,这个T值可以设置为3或者更小;评估一个E – mail的应用,T值则可以设置的稍微大一些,比如8秒。

对于事件“Tolerating User”和“Frustrated User”,触发机制分别是被采样任务的响应时间达到“Apdex Threshold Duration”的1~4倍和4倍以上。

对于事件“Apdex Score – Client Too Low”,除了可以设置“Apdex Threshold Duration”以外,还可以设置“Apdex Score Value”,它默认为0.5。这是它的触发条件,当Apdex的评分低于这个值时,此事件被触发。

抓包开始后,OmniPeek对在应用中产生的任务进行采样,若采样结果触发了某一Apdex事件,那么在Event Summary中会产生一条Apdex事件记录。

对于网络中的一个应用,当采样数量达到10个,OmniPeek就会根据公式计算出这个应用的Apdex的得分。

 

总结

Apdex带来的是一种新的标准,一种容易让所有人认可的应用性能评估方式。管理者通过Apdex指数可以立即评估出网络中应用的用户满意度,应用的性能不再只是简单的快或者慢,也不再无规矩可遵循,这有些像酒店的星级评定,标准是统一的。只是在网络世界中,如果某个应用达不到“五星级”,那么你就要看看哪里出了什么问题了。

加入1KE学习俱乐部

1KE学习俱乐部是只针对1KE学员开放的私人俱乐部