什么是应用性能管理 (APM)?
借助应用性能管理,预测和防范性能问题,以免对业务造成影响
应用性能管理软件和解决方案
一位年轻的职业女性在办公室里使用电脑的照片
什么是应用性能管理?

应用性能管理 (APM) 软件可帮助组织确保其关键应用满足性能、可用性和客户或最终用户体验方面的既定预期。 为此,APM 软件会衡量应用性能,在未达到性能基线时提醒管理员,深入揭示性能问题的根本原因,并自动解决许多性能问题,以免影响用户或业务。

APM 也是应用性能监控的缩写。 这两个术语经常交替使用,但应用性能监控实际上是许多应用性能管理的一个组成部分 - 因为说到底,必须要监控性能才能管理性能。 

然而,应用性能管理解决方案逐渐从依赖于传统的应用性能监控工具,转变为整合可观测性,这是一种性能数据收集和分析技术,更适合应对现代分布式云原生应用的复杂性。 

应用性能管理 (APM) 如何工作

应用性能管理同样是收集软件应用性能数据,进行分析以检测潜在的性能能问题,并提供信息或采取操作来加快解决这些问题。 应用性能监控和可观测性的主要区别在于,它们收集和分析数据的方式不同。

应用性能监控

应用性能监控中,会在整个应用环境和支持基础架构中部署代理,通常以每分钟为频率对性能和性能相关指标进行采样(有时称为遥测),对性能进行“监控”。 这些代理执行的监控类型包括:

  • 数字体验监控:从最终用户设备的用户界面上收集性能指标,例如加载时间、响应时间、正常运行时间、停机时间等。 (这过去称作最终用户体验监控,但后来范围拓宽,承认机器人或其他软件组件等非人类实体也可以与应用互动,并具有它们自己的预期性能目标。) 数字体验监控通常支持真实用户监控(监控系统上实际用户的体验)和综合监控,以用于生产和非生产环境中的性能测试。

  • 应用监控:包括对整个应用栈的监控,涵盖应用框架(例如 Java  或 .NET)、操作系统、数据库、API、中间件、Web 应用服务器、UI 等,还覆盖 IT 基础架构监控,对 CPU 利用率、磁盘空间和网络性能等要素进行采样。 堆栈监控通常包括代码级跟踪,可以帮助找到可能导致性能瓶颈的代码部分。

  • 数据库监控:对 SQL 查询或过程的性能进行采样,此外还包括应用监控代理提供的数据库监控。 

  • 可用性监控:负责监控应用和硬件组件的实际可用性(因为即使应用对最终用户不可用,也会产生性能数据)。

除了收集性能数据,这些代理还执行用户定义的事务概要分析,从最终用户 UI 或设备到事务中涉及的每个应用组件或资源对事务进行全程跟踪。 此信息用于确定应用依赖关系,并创建拓扑图,即应用和基础架构组件之间依赖关系的可视化表示,理想情况下覆盖本地、私有云、公有云(包括任何软件即服务 (SaaS) 解决方案)和/或混合云环境。 

APM 解决方案通常提供一个控制器和集中式仪表板,用于汇总、分析收集的性能指标并与确定的基线进行比较。 仪表板会提醒系统管理员注意偏离基线的情况,这表示存在实际或潜在的性能问题;它还会提供背景信息和切实可行的洞察,供管理员用来排除故障和解决问题。

可观测性

定期采样足以监控和排除单体式应用或传统分布式应用中的故障,因为这类应用的新代码是定期发布的,应用组件、服务器和相关资源之间的工作流程和依赖关系十分明确或者很容易跟踪。

但如今,越来越多的组织开始采用现代开发实践和云原生技术,如敏捷和 DevOps 方法、微服务Docker容器、Kubernetes无服务器功能,他们在许多位置使用多种语言频繁地部署新的应用组件,而且部署的频率差异巨大,传统监控解决方案一分钟进行一次数据采样的做法已经跟不上形势的发展。

可观测性方法将传统的监控代理换成持续收集性能和背景数据的测量工具,并使用机器学习技术来实时关联和分析数据。 借助可观测性解决方案,开发、IT 运营和站点可靠性工程 (SRE) 团队可以:

  • 发现并解决“不知道的未知问题”。传统监控只会关注偏离已知基线的已知情况。 可观测性平台的机器学习功能可以检测性能遥测中的模式,识别与性能问题相关的新偏离情况。 

  • 在开发中尽早捕捉和解决问题。 可观测性帮助 DevOps 团队将监控融入软件开发流程的早期阶段,这样他们就可以及早测试、发现和修复新代码中的问题,以防影响客户体验或服务级别协议 (SLA)。

  • 自动扩展可观测性。 例如,开发人员可以在 Kubernetes 集群配置中指定可观测性测量功能,这样任何新集群都可以从启动开始就收集遥测数据,直到关闭为止。

可观测性不能取代监控;它能够实现更出色的监控和应用性能管理 (APM)。

进一步了解可观察性
AI 和 AIOps:应用性能管理 (APM) 的未来

如今的应用性能管理工具正在不同程度地利用可观测性和人工智能。 有些将传统应用性能监控与人工智能相结合,自动发现变化的事务路径和应用依赖关系。 有些则将可观测性与人工智能相结合,自动确定性能基线,从 IT 运营管理 (ITOM) 数据“噪音”中筛选出信号或可行洞察。 行业分析机构 Gartner 发现,组织“通过使用人工智能增强工具,可以将 ITOM 中的噪音减少 60%”。

最终的目标以及 APM 和 IT 运营的未来是将可观测性与面向 IT 运营的人工智能 (AIOps) 相结合,创建自我修复、自我优化的基础架构。 通过将稳定的实时可观测性遥测数据流与 AIOps 机器学习和自动化相结合,可以根据系统输出预测应用性能问题,在其影响最终用户体验或运营之前加以解决,甚至还可以采取措施来优化应用性能,这一切都无需管理干预。

相关解决方案
IBM Cloud Pak® for Watson AIOps

通过 AIOps 平台加速创新进程、降低运营成本并转变 IT 运营 (ITOps),全面深入地了解环境中的性能数据和依赖关系。

探索 Cloud Pak® for Watson AIOps
IBM Observability with Instana®

了解面向混合云的领先企业可观察性平台。改进应用性能管理,加速推进 CI/CD 管道,而无论应用位于何处。

探索 IBM Observability with Instana®
资源 利用 AI 让您的 IT 运营面向未来

了解面向 IT 的 AI 如何改善业务成果、增加收入并降低组织的成本和风险。

由 AI 支持的 IT 自动化

让 IT 运营的效率和安全永续性更上一层楼。

什么是站点可靠性工程 (SRE)?

SRE 使用软件工程方法,自动执行 IT 运营任务,如果没有 SRE,这些任务则需要系统管理员人工执行。

利用 AI 驱动的自动化实现智能的应用资源管理

全面了解不当的应用和基础架构资源分配如何导致用户响应时间变长和资源拥堵。

采取下一步行动

借助 IBM Cloud Pak® for Watson AIOps,您可以利用人工智能、机器学习和自动化,帮助 ITOps 经理和站点可靠性工程师 (SRE) 解决事件管理问题并实施补救措施。通过 AIOps 平台,全面深入地了解环境中的性能数据和依赖关系,在不断变化的格局中加速创新进程、降低运营成本并转变 IT 运营 (ITOps)。

探索 IBM Cloud Pak® for Watson AIOps