应用程序性能指数 (Apdex) 分数是一个开放标准定量指标,用于衡量用户对一个组织的 Web 应用程序和服务的响应时间的满意程度。
各组织有动力收集与其 IT 应用程序相关的许多性能指标,这样,就能够更好地了解性能、发现问题并确定改善这些应用程序整体运行状况的方法。所有这些指标都有助于提高用户的整体满意度。但是,有时可能很难将各种指标整理成对应用程序是否正常运行的简单理解。这个问题可以通过 Apdex 分数来解决,该分数根据应用程序响应时间是低于还是高于设定的阈值来确定客户满意度。
Apdex 分数通常用作 应用性能管理 (APM) 的组成部分,APM 有时被称为应用程序性能监控。
由此产生的 Apdex 值是用户满意度的一个数值指标,采用 0 到 1(0 表示沮丧;1 表示满意)的标度表示。与平均响应时间数据相比,它旨在提供更平衡的用户对加载时间满意度的理解,平均响应时间数据可能会因一个缓慢的加载时间(例如,一分钟)而产生偏差。Apdex 分数单独处理响应时间的每个实例,而不是创建一个总分数。
NetForecast 的创始人 Peter Sevcik 率先认识到1 使用简单统一的开放标准来衡量应用程序质量的可能性。他领导的行业专家组制定了 Apdex 技术规范。不久之后,Apdex 联盟采用了 Apdex 标准,现在该标准已被许多组织所用。
对许多组织来说,维护 Apdex 分数是一个近乎实时的关键性能指标 (KPI)。它创建了一个框架,用于报告、基准测试和评定应用程序的响应时间,以及评估用户满意度,最终目标是提供卓越的用户体验。
确定 Apdex 分数时,首先设置一个 Apdex 阈值,该阈值表示相关组织认为可以容忍的响应时间。通过设置恒定阈值,组织更容易跟踪随时间发生的变化。每个组织都需要确定自己的响应时间阈值,因为没有每个组织都使用的通用阈值。
各组织通常会根据以下几个因素来确定自己的阈值:
Apdex 的公式是一个比率分数,用于根据设定的阈值确定应用程序加载时间。每次用户体验中都会根据他们经历的加载时间为 Apdex 分数做出贡献。
用户体验分为以下三个类别之一:
然后,将满意的响应时间(满意计数)与可容忍响应时间(可容忍计数)的一半相加,再除以样本总数即可确定 Apdex 分数。
Apdex 标度的范围为 0(表示没有用户满意)到 1(表示所有用户都满意)。Apdex 分数较低可能意味着,组织需要通过 APM、问题管理和站点可靠性工程等实践来提高解决问题和优化性能的能力。
Apdex 分数不佳可能表明相关组织当前的 IT 运营存在问题。以下是各组织如何提自己的 Apdex 分数的几个示例和用例。
优化代码和数据库查询:如果组织的数据库配置不当,代码效率低下,Apdex 分数很可能会很低。例如,不合格的代码可能需要比必需量更多的 CPU 和内存资源,从而降低加载速度。优化代码和数据库查询是提高 Apdex 分数的最佳途径。
尽量减少外部请求:向第三方服务发出 API 调用请求会对 Web 服务造成巨大压力,并导致高延迟。Apdex 分数较低的组织应考虑重新审视其外部请求,确保这些请求是必要、有价值的并且不会显著增加延迟。
使用内容交付网络 (CDN): CDN 是一个由地理位置分散的服务器组成的系统,公司使用它通过离用户最近的服务器完成请求来更快地向用户交付内容。 例如,如果德国的用户想要访问托管在纽约的网页内容,则该用户的请求将由相关公司位于欧洲的边缘服务器而不是纽约的服务器来满足。这样,通过减少数据必须传输的距离可减少延迟。
使用异步处理来完成繁重任务:采用异步处理,可在相互通信的环境中的系统之间分配应用程序所需的处理。异步处理将繁重任务转移到单独的进程,从而释放资源,以便主线程可以处理用户请求。
扩展服务器以满足不断增长的流量需求:如果无法增加服务器容量或使用负载平衡,则流量大幅增加可能会导致响应速度变慢。使用能够根据实时需求主动自动分配网络资源的平台,例如 IBM® Turbonomic®,可以帮助缓解这个问题。
使用 Apdex 分数来跟踪性能的组织可获得多种好处:
缩短网络响应时间:通过跟踪 Apdex 分数,各组织能够更准确地了解其应用程序和服务性能。这些信息有助于缩短响应时间,并使组织能够更快地向用户提供相关内容。
用户更满意:注重 Apdex 分数的组织可能会更加关注并满足用户体验。持续监控和提高 Apdex 分数可以减少沮丧的用户,满意度更高的客户将成为组织的坚定拥护者。
遵守服务级别协议 (SLA):组织的 SLA 可以指定应用程序的加载时间。如果加载时间始终长于 SLA 中的规定,组织可能会违反与用户达成的协议。
数据驱动型决策:跟踪 Apdex 分数可为企业领导者提供可靠的数据,从而帮助他们针对 Web 应用程序性能做出更明智的决策。这样做,可以创建一个更有条理的系统来跟踪客户满意度,而不是依赖传闻或不太准确的指标。
使用 IBM Instana Observability 自动观察、监控和修复您的整个应用程序堆栈。
在您的定制应用程序组合中实现最佳性能,同时提高用户满意度。
将全栈可观察性与自动化应用资源管理相结合,在性能问题影响客户体验之前将其解决。
1“Apdex 的历史”,Apdex.org