跳至主要内容

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

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

应用程序性能监控(APM)是利用软件工具和遥测数据(包括分布式追踪)来监控运行中应用程序性能的过程。组织希望确保维持预期的服务水平,并让客户获得符合其期望的应用程序性能。APM 工具通过仪表板、应用程序指标、日志、警报和分布式跟踪,提供有关应用程序性能的近乎实时的数据和见解。通过 APM,IT 团队、DevOps 团队和站点可靠性工程师可以执行精确定位应用程序性能问题、进行基础设施规划以及跟踪服务水平目标(SLO)等任务。

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

应用程序性能监控对于内部运营和外部客户都至关重要。监控内部应用程序有助于确保业务服务的连续性,从而保障团队工作的顺利开展。监控客户端应用程序有助于确保客户能够按预期访问和使用您的服务。

APM 有助于确保数字服务平稳运行、停机时间降至最低,并让客户始终获得积极的应用程序性能体验。以下是 APM 的几大优势。

快速分析根本原因

APM 利用相关的指标、日志和追踪数据进行根本原因分析,从而缩短平均检测时间 (MTTD) 和平均修复时间 (MTTR)。这种快速诊断能将停机时间降到最低。工程团队因此有更多时间开发新应用程序,而无需将精力耗费在排查现有应用程序的问题上。

优化运维成本

IT 团队使用 APM 工具来合理配置基础设施和资源。通过监控资源性能数据,团队能够掌握何时需要扩展或缩减资源,使应用程序保持最佳性能。这有助于根据工作负载优化运维成本。应用程序性能管理是监控的下游效应。

有效产品开发

应用程序性能监控工具可以作为产品开发过程的一部分。您可以在测试环境中实施 APM,利用其工具监控和分析模拟流量,从而发现局限性并识别错误。开发团队可以在应用程序上线前发现异常,并修复那些原本只有在上线后才会暴露的缺陷。

商业协作

APM 仪表板可以针对不同受众定制。您可以利用 APM 在各业务部门之间或与其他关键业务利益相关者共享相关指标和分析结果。

客户满意度

APM 是一种有效的工具,能够精准定位软件应用程序中性能瓶颈出现的位置。通过 APM,工程师能够在服务性能下降对客户产生下游影响之前就发现问题。在问题影响客户之前将其解决,有助于维持高水平的客户满意度。针对低于面向客户的服务水平协议(SLA)指标的数值设置警报,以便预留时间制定新的解决方案。

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

以下是应用程序性能监控(APM)跟踪的一些常见指标。

CPU利用率

APM 解决方案可以监控 CPU 使用率等 CPU 指标。这能确保您的应用程序获得正常运行所需的计算资源。设置包含使用率警报的服务水平目标(SLO),可以提醒您进行纵向扩展或缩减。

响应时间

响应时间至关重要,因为用户期望能够无延迟地访问服务。APM 解决方案会根据可接受的应用程序性能基准来衡量响应时间,并在响应时间超过阈值时发出警报。

错误率

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

交易跟踪

APM 中的交易跟踪为您提供了在应用程序中执行的单个事务的准确情况。在事务跟踪中捕获的信息包括函数调用、外部调用和数据库调用。APM 解决方案会监控从开始到结束的整个事务请求过程。

实例

APM 解决方案可以监控并报告应用程序正在运行的服务器或应用程序实例数量。该解决方案可以发出警报,提示您进行纵向扩展或缩减以满足用户需求。

请求

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

正常运行时间

对于提供在线服务的企业来说,正常运行时间至关重要。许多服务水平协议仅允许在预定时间段内出现一定比例的停机时间。APM 会监控应用程序的可用性,并将其级别与服务供应商和客户商定的级别进行比较。

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

以下是应用程序性能监控(APM)的一些应用场景。

真实用户监控

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

相比之下,合成监控通过模拟用户行为,在应用程序发布到生产环境之前发现问题。

用户定义的事务分析

您可以使用 APM 解决方案重新创建普通用户与应用程序的交互过程。这种方法被称为“用户定义的事务剖析”,它追踪从用户交互到系统响应的完整路径。用户定义的事务剖析有助于您了解数字服务在何种情况下会出现问题。IT 团队通常利用这种方法排查应用程序故障并解决常见的用户问题。

组件监控

组件监控(或称应用程序组件深度监控)会对应用程序的所有组件进行全面跟踪。此类监控与分析能够呈现应用程序的整体性能状况。监控的资源包括内存利用率、服务器、CPU利用率和网络组件。 

基础设施监控

您可以使用 APM 工具从整个 IT 基础设施收集数据,例如服务器(服务器监控)、容器(容器监控)、数据库(数据库监控)、虚拟机(VM 监控)和其他后端系统。这种监控方式能够检测性能问题,并找出应用程序错误的根本原因。基础设施监控涵盖所有正在运行的应用程序,而不仅仅是单个应用程序。

了解基础设施即服务 (IaaS) »

分析

有效的 APM 解决方案可提供用于分析的数据,帮助您修复或优化应用程序。一些 APM 工具使用人工智能和机器学习(AI/ML)算法进行预测分析,诊断错误的根本原因,并链接复杂的应用程序性能问题。

了解 AWS 上的人工智能 »

SLA 和 SLO 监控

服务水平协议(SLA)是 IT 服务提供商与客户之间合同的关键组成部分。它们规定了双方同意的所需服务水平。APM 能够监控 SLA 框架中的性能指标,帮助提供商确保满足合同约定的期望。它还会突出显示提供商的表现可能低于 SLA 规定标准的方面。SLA 多见于对业务至关重要的应用场景。您可以在 APM 中设定低于 SLA 上限的服务水平目标(SLO),以便在性能问题影响客户之前采取应对措施。

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

可观测性涉及对代码和基础设施进行插桩,以输出指标、日志和追踪数据。APM 等工具与可观测性技术协同工作,帮助深入洞察这些指标、日志和追踪数据所反映的信息。APM 利用可观测性输出的数据,让诊断性能问题以及了解系统的当前和历史状态变得更加轻松。

了解 AWS 可观测性 »

如何为您的组织选择合适的应用程序性能监控解决方案?

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

团队认同

确保您的团队理解引入 APM 的基本原理和益处。您需要找到一个适合现有系统,且您团队熟悉流程的解决方案。

功能

有许多可用的 APM 工具。确保您引入的 APM 解决方案能为您的应用程序提供合适的工具,并且支持您的技术堆栈,包括编程语言。

成本要求

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

所有权

考虑谁将监督以及拥有您的 APM。例如,您需要确定是由 IT 部门还是开发人员负责 APM 的维护和管理。

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

AWS 提供一系列服务,以帮助您深入了解应用程序的性能:

借助应用程序可观测性(APM),您可以在应用程序问题影响客户之前发现并解决这些问题。APM 支持一键式设置,并可在 Amazon Elastic Container Service、Amazon Elastic Kubernetes Service、AWS Lambda、Amazon EC2 等服务上实现自动插桩。APM 通过预构建的仪表板提供自动生成的见解,重点展示最关键的遥测数据。

Amazon CloudWatch 是一项监控与可观测性服务,支持监控应用程序并洞察运营健康状况,从而帮助您应对性能变化、优化资源利用并提升安全性。CloudWatch 还允许您针对服务水平协议(SLA)和服务水平目标(SLO)相关的端点以及 UI 工作流监控设置警报。

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

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages