应用程序性能指数 (Apdex)

2025年03月17日 | 阅读 9 分钟

引言

Apdex,或应用程序性能指数,是一个免费标准,用于衡量应用程序的性能。它使这项工作更容易。

Apdex 衡量用户在使用应用程序时有多满意。需要记住的是,这与应用程序性能管理 (APM) 工具不同。

Apdex 通过一个数字分数来显示用户对应用程序的速度和响应能力的满意度。它根据 0(表示没有满意的用户)到 1(表示所有人都满意)的尺度来衡量性能符合用户期望的程度。

Application Performance Index (Apdex)

Apdex 联盟

2004 年,由 NetForecast 领导的一些软件公司成立了一个名为 Apdex Alliance 的组织。他们介绍了“Apdex”的规则。该公司致力于跟踪互联网数据的服务。该组织起初有 200 人,到 2010 年已发展到拥有两千多名成员。

在 Apdex 联盟中,个人和供应商齐心协力,制定关于应用程序性能报告的新规则。这些规则说明了它如何影响用户体验 (UX)。它们还有助于制作 Apdex 教学指南和创建学校资源。此外,这些个人和供应商还将 Apdex 工具集成到他们的计算机程序中。

尽管它不是一个专门用于监控软件的工具,但联盟中的公司会收集响应时间等数据。他们使用这些数据来生成 Apdex 分数,该分数会显示在 IT 和开发人员客户仪表板的程序监控工具中。但是,这些分数不仅仅针对联盟成员。

Apdex 评级取决于最终用户感知的三个响应级别:满意、容忍和沮丧。这些评级也可以分为优秀、良好、一般,不太差。差和非常差的级别——就像学校考试的 A 到 F 等级一样。

软件运行速度的一部分取决于应用程序响应时间和处理事务的时间。程序在开始或完成一项任务后作出反应所需的时间称为应用程序响应时间。处理事务是指将单个详细信息作为操作来理解。

在 Apdex 分数中,响应能力由 T 或 F 值表示。T 表示快速响应,而 F 表示慢速系统,以秒为单位进行测量。

Apdex 分数从 0 到 1,例如 0.5 或 0.95。1 分表示用户对他们的体验非常满意,而较低的数字则表明存在性能滞后。响应不佳,因为响应时间过长,超过了 T 的允许范围,这情况最不受欢迎,分数 0 最差。

如何计算 Apdex 分数?

我们使用一个特殊的公式来计算 Apdex 分数。该公式计算满意用户的数量,容忍用户的数量(满意用户的数量的一半),然后除以我们拥有的总样本数。公式是

  1. 将满意样本加上容忍样本的一半,然后除以总数。
  2. 以一个总共 100 人的系统为例。在这 100 人中,70 人响应良好,被称为满意用户(显示为 70)。20 人的响应速度较慢但仍在可接受范围内。应用该方程
  3. (70 + 20 除以二) 除以一百等于零点八。
  4. 最终分数 0.8 介于 0 和 1 之间。不同的范围对 Apdex 分数进行分类:好分数在 0.93 到 0.85 之间,一般分数范围从 0.84 到 7。但请记住,这些只是示例:重要的是在各个方面都做到最好!任何低于 0.49 的分数都是不行的。

提高 Apdex 分数

  1. 提高 Apdex 意味着为您的应用程序及其各个部分的响应速度设定目标。更快的响应使人们更满意。这将带来更好的 Apdex 评分。
  2. 这些数字来自人们的响应速度。您可以将其显示为带有秒数的图表。与平均或中等响应时间等度量不同,Apdex 有助于在下降曲线的长尾部中找到值。
  3. 当发现长尾时,开发人员需要检查应用程序的结构是否有性能不佳的迹象。某项内容是如何设置以供使用,对其性能有很大影响。更改应用程序以减少网络通信或增加带宽可以大大提高速度。这些措施可以减少 Apdex 显示的问题并帮助提高分数。

其他 Apdex 用例

除了在 IT 管理中的常规用途外,Apdex 在不同领域还有许多其他用途。

例如,NetForecast 使用 Apdex 公式来衡量 Cox 互联网使用情况表的准确性。该表的精度被评定为不超过 1% 的误差。在此范围内的所有样本都满意。低于 -1% 的样本被视为可容忍,高于 +1% 的样本则感到恼火或沮丧。在检查期间,Apdex 分数通常处于良好范围,有时会非常高。

即使是没有技术技能的组织也可以使用 Apdex 分数。例如,一家新闻公司可以通过询问人们文章是否真的有用、有点用或没太大用处来衡量其有用性。然后,这些答案可以用于 Apdex 公式以获得分数。这使得衡量用户满意度更容易,同时仍然保持良好,超出了技术功能。

如何使用 Apdex?

Apdex 方法首先设定一个显示良好用户体验的目标响应时间。这个时间目标会因用途不同而变化,因为人们的耐心程度也不同。例如,医生可能认为电子健康记录 (EHR) 系统需要 15 秒是可以接受的,但负责安全工作的人,比如安全团队,可能希望仪表板加载速度非常快。他们几乎需要立即得到!

考虑确保您在一秒钟内得到响应。要找到可接受的响应时间,将目标时间乘以 4。这涵盖了从一秒到四秒之间的任何内容。当响应时间超过 4 秒时,人们会感到沮丧。

Apdex 分数是通过将所有满意的响应相加,加上容忍的慢速响应时间的一半,然后除以总尝试次数来计算的。这个数学计算总是给出一个 0 到 1 之间的分数。零表示体验非常糟糕且令人沮丧,而一则表示对用户来说是好的。

例如,如果您进行了 100 次测量并获得了以下结果

70 次良好测量(70 * 1 = 70)

15 次测量(15 * 0.5 = 7.5)

15 次糟糕测量(15 * 0 = 0)

最终的 Apdex 分数将通过将这些值相加来计算:(70 + 7.5 + 0) 除以 100 等于 77.5。在应用程序性能监控 (APM) 平台上,此分数将被视为“一般”。

为什么使用 Apdex?

使用 Apdex 为企业和开发团队提供了几个引人注目的理由

  1. 以用户为中心的洞察: Apdex 分数无需大量交谈或长期监控工具即可显示用户的想法。这些见解有助于做出更好的业务决策和改进。
  2. 理解增长和留存:满意的用户和运行良好的应用程序直接影响增长,而不添加任何附加条件,也能影响长期发展。理解这种联系及其对业务成功的影响非常重要。
  3. 简化数据焦点:在时间有限和资源有限的情况下,拥有一个像 Apdex 这样的简单分数非常有帮助。它使团队能够有效协作,而无需要求其组织内其他部门采用不同的概念。
  4. 监控用户体验趋势:定期检查 Apdex 分数并存储旧数据有助于识别模式。它将帮助我们了解用户满意度如何随时间变化。这使我们能够参与各种业务活动,例如推出新功能或推广产品。
  5. 平衡功能开发和性能:低 Apdex 分数表明用户可能不满意。这意味着将新功能发布与改进当前代码以提高速度之间的平衡得到了重视。
  6. 建立服务水平协议 (SLA): Apdex 分数可以帮助为对人们重要的服务建立 SLA。这确保了事物始终可用,并且用户体验始终良好。
  7. 跟踪应用程序更改:就像测试和部署工具可以防止不良代码运行一样,Apdex 分数可能会指示由于新更改导致的用户体验问题。这有助于在应用程序更新后查找需要修复或改进的内容。

最终,Apdex 使企业能够更好地为客户服务。它使他们能够做出明智的决策,并在如何构建应用程序时平衡创新与用户满意度。

最佳 Apdex 分数

通常认为获得 0.85 或更高的 Apdex 分数是良好或优秀的。但是,确定什么构成“好”分数是复杂的,并且取决于具体情况。获得并保持这样的分数需要强大的软件程序开发方法,并且始终致力于改善用户体验。

为您的特定业务类型、目标受众和应用程序处理的特定问题创建针对满意、容忍和恼怒反应的指南非常重要。不同的用户群体对性能的期望不同。这意味着您需要调整您的衡量标准,以以最适合每个群体需求的方式来反映真实的体验。

不同的 Apdex 分数范围

此外,考虑为应用程序中的不同任务或操作设置不同的 Apdex 标准也是有益的。人们可能会容忍重要或必需任务的较慢响应。例如,他们可能耐心等待订单完成,但对于常规或不太重要的任务可能不那么耐心。

以下是 Apdex 分数范围及其含义的细分

  1. 优秀(0.94 - 1):由于获得响应的速度快且能很好地继续工作,人们没有任何问题。
  2. 良好(0.85 - 0.93):人们通常能顺利工作,而不会因响应速度慢而导致重大问题。
  3. 一般(0.70 - 0.84):人们在使用中会遇到一些响应速度问题,但他们认为这是值得的,因此可能会继续使用。
  4. 差(0.50 - 0.69):尽管用户体验到性能缓慢,但他们仍可能继续执行他们的任务。
  5. 不可接受(0.0 - 0.49):由于程序速度不够快而无法运行,人们会停止使用。

总而言之,争取并保持更高的 Apdex 分数意味着您希望您的应用程序体验对用户来说是流畅的。它应该满足他们对它的期望。

提高 Apdex 分数

提高 Apdex 分数主要意味着提高应用程序的速度。然而,要实现这一点可能很困难。这是因为在确保高分和满足用户需求、给予他们想要的东西并让他们满意之间存在着矛盾。

以下是如何取得平衡并努力提高 Apdex 分数的方法

  1. 将 Apdex 用作发布指标:检查每个新功能如何影响 Apdex 分数。检查使用特定功能是否会使分数更好或更糟。
  2. 开发过程中的测试:在开发过程中在测试服务器上检查 Apdex 分数,以在最终阶段之前发现潜在的用户体验问题。
  3. 整合性能改进:将改进性能的任务整合到您的开发流程中。为修复性能问题分配固定的冲刺时间。
  4. 将 Apdex 纳入开发周期:确保在整个开发过程中始终重视 Apdex 分数。即使很难专注于专门的冲刺来改进它们,也要始终记住它们至关重要。
  5. 将 Apdex 与 KPI 联系起来:将开发团队的 Apdex 分数与关键绩效指标 (KPI) 联系起来。同时,专注于交付新功能。

利用工具

  1. 利用 APM 产品:APM(应用程序性能监控)工具提供比基本响应时间数据更丰富的信息。它们帮助我们更好地理解慢查询、跟踪和 API 调用。这有助于识别可能影响 Apdex 分数的潜在原因。
  2. 可视化跟踪和性能:APM 工具可帮助您查看请求并了解它们如何在系统之间流动。它也适用于多种语言。这有助于找到减慢速度的点和影响用户使用的问​​题。
  3. 利用历史和实时数据:处理过去和现在数据的 APM 工具有助于识别性能的长期变化。它们还可以在启动活动后快速解决 Apdex 分数的快速下降问题。
  4. 支持现代开发周期:APM 对于 CI/CD 流水线至关重要。它帮助您在代码更新频繁的地方密切监控性能,从而让您的用户享受更好的体验。

通过将 Apdex 的理念融入我们的开发流程中,利用工具进行测试和研究结果,我们可以逐渐使应用程序响应更快。随着时间的推移,这将带来更好的用户体验。


下一主题增量备份