应用性能指数(APDEX)是如何计算出来的?
在应用性能管理领域聚合指标是一种常见手段,主要是用来把成百上千的指标通过某种计算方法聚合成一个或几个指标,用来反映应用的整体健康状态。在这些聚合指标中,比较常见的是:APDEX应用性能指数。
应用性能指数”即“Apdex”(Application Performance Index),用一句话来概括,Apdex是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,第一次把最终用户的体验和应用性能联系在了一起。基于“响应性”,Apdex定义了3个用户满意度区间:
满意: 这样的响应时间让用户感到很愉快,例如少于3秒钟。
容忍: 慢了一点,但还可以接受,继续这一应用过程,例如3~12秒。
失望: 太慢了,受不了了,用户决定放弃这个应用,例如超过12秒。
“满意”、“容忍”、“失望”这三个区间通过响应时间数值“T”来划分,T值代表着用户对应用性能满意的响应时间界限或者说是“门槛”(Threshold),也就是第一个区间“满意”的底线,如3秒,满意区间就是03秒;响应时间超过T值用户就有些不满了,下一个区间“容忍”的界限值则是T和4T,即312秒之间为容忍区间;响应时间再长用户就开始考虑放弃了,最后一个区间“失望”的响应时间则大于4T,即多于12秒。
之后,Apdex对应用中发生的任务进行采样,并且按其响应时间把采样划分到相应的满意度区间,计数,再用一个公式计算Apdex指数:
实际上,这个公式的意义在于:
一个满意样本得分为:1
一个容忍样本得分为:0.5
一个失望样本得分为:0
因此公式也可以写成:
Apdex指数 =(1 × 满意样本 + 0.5 × 容忍样本)÷ 样本总数
这样,采样结果被量化为一个0到1之间的数值即“Apdex指数”,0代表没有满意用户,1则代表所有用户都满意。经过统计,Apdex把这个数值与用户满意程度细化对应,如下图所示,对于应用性能的Apdex评分与用户的体验紧密关联,为管理者提供了一种通过应用性能量化值来评估用户满意度的方法。
而RealSight APM的聚合指标除了Apdex以外,还有“健康度”。
通过上面的介绍我们可以了解到,Apdex主要是反应用户体验相关的指标,那么我们希望有另外一个指标来反映应用周边环境,偏重硬件资源如CPU、内存等信息,所以我们使用了“健康度”,其基本原理同Apdex一样,划分不同的满意区间,然后计算得来的。
RealSight APM致力于一站式解决企业应用性能管理问题

应用性能指数(APDEX)是如何计算出来的?的更多相关文章

  1. 【宇哥带你玩转MySQL】索引篇(一)索引揭秘,看他是如何让你的查询性能指数提升的

    场景复现,一个索引提高600倍查询速度? 首先准备一张books表 create table books( id int not null primary key auto_increment, na ...

  2. 如何用 OneAPM 优化你的 Node.js 应用?

    本文主要讲解如何使用 OneAPM 提供的信息从内存.CPU 使用.响应速度等方面优化 Node.js 应用.适用于定位于刚刚使用 Node.js 开发后台的读者.本文系 OneAPM 用户投稿,本网 ...

  3. Jmeter(四十八)_动态线程分析HTML测试报告

    概述 jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源.所以我们常常用命令行去跑性能脚本,得出结果 同时,jmeter在命令行下还可以生成多维度的测试报告,里面包 ...

  4. 性能标准:Apdex介绍

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

  5. 【阿里云产品公测】利用PTS服务优化网站数据库读写性能

    [阿里云产品公测]利用PTS服务优化网站数据库读写性能 作者:阿里云用户千鸟 写这个帖子主要也是因为在用PTS测试网站的时候,手动访问网站进入报错页面,主要原因是数据库连接对象存在问题,导致并发多的时 ...

  6. 如何使用 APM 搞定 PHP 应用的性能优化?

    APM 究竟是什么? 很多人都是第一次听说 APM 的概念,本文主要阐述如何使用 APM 的解决方案来实现 PHP 应用性能的优化.首先先介绍一下 APM (Application Performan ...

  7. PHP码农在Golang压力下的生存之道-PHP性能优化实践

    随着国内Golang的火爆,phper的生存压力越来越大,在一次内部技术讨论中,gopher甚至提出,要什么php,写php的全部开掉,唉,码农何苦为难码农. 本文试图寻找一种有效实践,减少php w ...

  8. .NET性能排查

    概述 1,性能参数 2,性能排查方式 3,.NET的性能分析工具 1,性能指标 一个系统的性能排查或者性能设计的前提就是要有明确的性能指标:常见的性能参数 1.响应时间(处理任务时的延迟,简称 RT, ...

  9. OneAPM 云监控部署与试用体验

    作为 Zabbix 骨灰级粉丝,一直以来对第三方监控(APM)都是拒绝的.一来觉得收费,二来担心数据被人所知,三来觉得 Zabbix 牛逼到无可取代.但是,随着 APM 市场的火爆,我决定「放下身段」 ...

随机推荐

  1. # 防止xss攻击,过滤script标签,获取出标签外的内容

    from bs4 import BeautifulSoups = '<h1>123</h1> <span>456<span>'soup = Beauti ...

  2. JS实现多少小时前,多少天前...

    最近需要实现题目的功能,因为我的时间戳是PHP生成的,所以转换JS时间戳需要乘1000,废话不多说,看下面的代码把! 大家可以判断一下传进来的值是否为数值型,还有判断是否比当前的时间戳大!可以根据结果 ...

  3. mysql用户操作

    一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指 ...

  4. SQL动态配置,动态解析SQL

    在项目中使用SQL动态配置的方式可以让后期的维护和发布后的修改变得更加方便,无论使用那种配置方式都离不开解析成最终真正能执行的SQL.下面代码就是一种比较简单的处理方法,SQL的参数以##括起来. 1 ...

  5. Linux.net && mono

    资料: http://www.cnblogs.com/xiaodiejinghong/archive/2013/04/01/2994216.html http://www.cnblogs.com/sh ...

  6. Hashtable 键值对集合

    // Hashtable  键值对集合 一个键对应一个值 Hashtable ht=new Hashtable(); ht.Add(,"张三"); ht.Add(,'男'); ht ...

  7. mysql通过数据文件恢复数据方法

    情况描述:服务器硬盘损坏,服务器换了个新硬盘 ,然后老硬盘插在上面.挂载在这台机器.可以从老硬盘里面拿到数据.只拿到了里面的mysql数据文件夹,把数据文件夹覆盖新的服务器mysql数据文件夹 启动报 ...

  8. MVC3.0与MVC2.0的区别

    昨天面试时第一回用MVC2.0做了一个简单的增删改查功能的测试.想一下用了一年多的MVC3.0,对这两个版本不同之处做以下几点总结: 最明显的是MVC3.0较MVC2.0而言,多了Razor视图: 1 ...

  9. Linux 套接字编程 - TCP连接基础

    第五章的内容,实现一个echo服务器和对应的客户端,主要收获: 0. TCP socket编程主要基本步骤 1. SIGCHLD信号含义(子进程退出时向父进程发送,提醒父进程对其状态信息进行一个获取) ...

  10. print控制台输出带颜色文字方法

    在python开发的过程中,经常会遇到需要打印各种信息.海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性.这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了. ...