什么是 APM(应用程序性能监控)?


什么是应用程序性能监控(APM)?

应用程序性能监控(APM)是使用软件工具和遥测数据来监控关键业务应用程序性能的过程。企业希望确保自己保持预期的服务水平,并确保客户获得积极的应用程序体验。他们使用 APM 工具获取实时数据和对应用程序性能的洞见。然后,IT 团队、DevOps 和站点可靠性工程师便可以快速定位和排查应用程序故障。

为什么应用程序性能监控很重要?

有效的应用程序性能监控(APM)对于企业的成功是不可或缺的。它有助于确保您的数字服务顺利运行,将停机时间降到最低,并使您的客户始终获得积极的体验。 

应用程序性能监控为企业提供了几个好处。

客户满意度

APM 是一种有效的工具,可以精确定位应用程序中出现问题的位置。它还强调了数字客户旅程中的常见问题。因此,您可以通过确定为最终用户提供最大价值的领域来改善客户体验。APM 在确定变化是否有益方面也很有效。例如,如果一家企业引入了一个新的客服机器人,APM 指标可以测量有多少客户通过使用机器人解决了查询问题。

快速诊断

仅仅几分钟的停机时间就可能造成经济损失,并导致客户旅程失败。APM 可以快速诊断应用程序性能问题,并向 IT 团队直接指出问题。这种快速诊断能将停机时间降到最低。技术团队会有更多的时间开发新的应用程序,而不是修复现有的应用程序。 

降低运营成本

IT 团队使用 APM 工具来确定需要多少资源、基础设施和计算能力来保持应用程序的最佳性能。这使得运营成本降到最低。

有效产品开发

应用程序性能监控工具可以作为产品开发过程的一部分。您可以在测试或现场环境中执行 APM,并使用 APM 工具来监控和分析综合流量,发现限制并识别错误。开发团队可以在应用上线前发挥利用可操作的见解,并修复以前只有在上线后才会变得明显的漏洞。

商业协作

您可以跨业务部门共享指标和分析,这将改善沟通,消除隔阂,提高员工的参与度,并提高生产力。

应用程序性能监控会跟踪哪些指标?

应用程序性能监控(APM)会跟踪常见指标,如下所示。

CPU利用率

APM 解决方案可以监控 CPU 指标,如 CPU 利用率和内存需求。它能够确保您的应用程序获得正常运行所需的计算资源。

响应时间

响应时间对于企业来说很重要,因为您的用户希望能够无延迟地访问服务。APM 解决方案根据可接受的响应时间基准性能进行度量,并在响应时间低于阈值时向您发出警报。

错误率

APM 软件会监控应用程序,以记录并报告错误率。一个这类错误的例子比如,Web 查询超时或数据库查询失败。当错误率超过预定义参数时,APM 将发出警报——例如,当最近 50 个请求中有 5% 导致错误时。

交易跟踪

APM 中的交易跟踪为您提供了在应用程序中执行的单个事务的准确情况。在交易跟踪中捕获的信息包括可用的函数调用、外部调用和数据库调用。它会自始至终监控交易请求。

实例

APM 解决方案可以监控和报告您的应用程序所运行的服务器或应用程序实例的数量。它可以提醒您扩大或缩小以满足用户需求。

请求

APM 软件会监控您的应用程序接收到用户请求的数量。通过监控流量,其可以在发现任何异常时发出警报。例如,它可以在请求意外增加、出现来自同一用户的大量请求或请求数量异常低时向您发出警报。

正常运行时间

对于提供在线服务的企业来说,正常运行时间至关重要。许多服务等级协议(SLAs)只允许占整个预定的时间段一个百分点的停机时间。APM 会监控应用程序的可用性,并将其级别与服务供应商和客户商定的级别进行比较。

应用程序性能监控有什么用例?

下面我们给出了应用程序性能监控(APM)的一些用例。

真实用户监控

真实用户监控,或最终用户体验监控,是对用户数据的收集和分析,是为了了解应用程序的性能级别。通过建立可接受性能的基线,您可以准确地预测应用程序何时会出现问题。例如,如果在尝试签出项目时遇到问题的客户数量超过阈值,APM 就会向相关团队发送警报。

用户监控有两种方式:    

  • 综合监控模拟用户行为,以便在应用程序发布到生产环境之前就捕获问题
  • 无代理监控分析网络流量,而不需要在被监控的应用程序上安装软件代理

用户定义的事务分析

您可以使用 APM 解决方案重新创建普通用户与应用程序的交互过程。通过这种做法,您可以更好地了解您的数字服务出现问题时的情况。IT 团队通常使用用户定义的事务分析来排查应用程序故障,并修复常见的用户问题。 

组件监控

组件监控,全称应用程序组件深度监控,会全面跟踪整个 IT 基础设施。监控和分析应用程序的完整性能。监控的资源包括内存利用率、服务器、CPU利用率和网络组件。 

基础设施监控

您可以使用 APM 工具从 IT 基础设施收集数据,例如服务器(服务器监控)、容器(容器监控)、数据库(数据库监控)、虚拟机(VM 监控)和其他后端系统。这样做是为了检测性能问题并找到应用程序错误的根本原因。

请阅读基础设施即服务(IaaS)的有关信息 »

分析 

有效的 APM 能提供分析数据,企业可以使用这些数据来修复或改进应用程序。一些 APM 工具使用人工智能和机器学习(AI/ML)算法进行预测分析,诊断错误的根本原因,并链接复杂的应用程序性能问题。

请阅读 AWS 上的机器学习的有关信息 »

SLA 监控

服务等级协议(SLAs)对于 IT 服务供应商和客户端之间的合同至关重要。它们规定了双方同意的所需服务水平。APM 可以监控 SLA 框架中的性能指标,这能够帮助供应商确保性能指标满足预期。它还强调了,供应商有可能达不到 SLA 中概述的标准。

应用程序性能监控和可观测性之间的区别是什么?

具有复杂架构的现代应用程序在故障排查时,需要的不仅仅是应用程序性能监控(APM)。可观测性会将整个 IT 堆栈中的信息汇集到一个中央平台中,在该平台中,可以对高级业务智能和见解进行操作。APM 是可观测性的一个子集。虽然 APM 提供了指标的聚合视图,但可观测性使用了分布式跟踪等其他工具,以全面了解应用程序的行为。

阅读 AWS 可观测性的有关信息 »

如何为您的企业选择正确的应用程序性能监控解决方案?

在将应用程序性能监控(APM)平台及其工具套件集成到 IT 环境之前,有许多因素需要考虑。

认同

确保您的团队理解引入 APM 背后的理由和个人利益。您需要找到一个适合现有系统,且您团队熟悉流程的解决方案。

功能

有许多可用的 APM 工具。确保您引入的 APM 平台能为您的应用程序提供正确的工具,并且支持您的编程语言。

成本要求

引入 APM 可能需要相当多的计算资源,特别是当您计划监视多个应用程序时。确保您有满足 APM 的最低需求的计算资源,与足以承担 APM 开销的预算。

所有权

考虑谁将监督以及拥有您的 APM。哪些团队将负责维护和管理?

AWS 在应用程序性能监控上能为您提供何种帮助?

Amazon CloudWatch 是一项监控和可观测性服务,使您能持续跟踪最终用户的数字体验。它还可以跟踪运行在 AWS——Amazon Elastic Compute Cloud(Amazon EC2)、容器和无服务器——上的应用程序,以及运行在本地的应用程序。CloudWatch 从前端到基础设施在性能堆栈的每一层收集数据。

您可以使用 Amazon CloudWatch ServiceLens 来确定应用程序中的性能瓶颈,并使用相关的指标、日志和追踪来隔离这些问题。CloudWatch ServiceLens 集成了 CloudWatch 与 AWS X-Ray,让您能够全面了解您的应用程序。有了它,您便可以确定性能瓶颈,并更有效地确定受影响的用户。

以下例子说明了您可以用 CloudWatch 来做些什么:

  • 为服务等级协议(SLA)和服务等级目标(SLO)端点和 UI 工作流监控设置警报
  • 近乎实时地收集有关应用程序性能的客户端数据
  • 在整个应用程序堆栈中试用功能,根据性能和业务指标衡量功能,并安全地启动功能

立即创建一个免费的AWS帐户,开始使用AWS上的应用程序性能监控(APM)。

应用程序性能监控后续步骤

查看其他与产品相关的资源
AWS 上的免费开发人员工具服务 
注册免费账户

立即享受 AWS 免费套餐。

注册 
开始在控制台中构建

在 AWS 管理控制台中开始构建。

登录