Home » 学习 » 什么是APM(应用性能管理)?

什么是 APM(应用性能管理)?

应用性能管理(APM)是任何 IT 战略的关键,提供远超性能监控的多种益处。

最后更新:2026年9月7日

APM 代表应用性能管理:这是一门业务学科,决定你的应用需要为客户和合同提供何种性能,然后确保应用能实现这些性能。 相同的三个字母也代表应用性能监控,这是一种技术实践,包括对应用进行工具化并收集其运行数据。本页讨论的是管理方面——策略、五个组成部分、厂商市场,以及如何建立该实践。由于我们开发了该市场中的一款工具,每个部分都会明确说明 Dotcom-Monitor 的作用及其不足之处。

APM 代表什么?

有两个含义,这也是该术语引起大量混淆的原因。管理是较早且范围更广的含义。监控是大多数厂商销售的内容,因此这也是产品页面和搜索结果中占主导的含义。 管理半部分是某个人所承担的职责。有人决定“够快”对每个应用意味着什么,写下来,并在未达成时负责。此人还决定花费多少——用于工具、工程时间和基础设施,以保持标准。 实际中管理学科涵盖四个方面:
  • 目标。每个应用对用户应提供的响应时间、错误率和可用性,以及这些指标中哪些是合同上的。
  • 所有权。哪个团队对每个目标负责,目标未达时由谁负责处理。
  • 支出。性能工作和性能工具的花费,以及业务收益。
  • 证据。向客户、审计员及公司高层证明目标达成的报告。
工具适用范围:仅限第四项。没有任何平台设定你的目标、分配所有权或批准预算。Dotcom-Monitor 提供证据——针对正常运行时间、响应时间和错误率的 SLA 报告,基于你定义的阈值,支持定时导出为 PDF 或 CSV。其他三项靠会议来实现,不是软件功能。

应用性能管理与应用性能监控对比

监控告诉你上周二结账流程 95 百分位响应用了 840 毫秒。管理决定 840 毫秒是否可接受,谁负责缩短这一时间,以及这项工作是否优先于等待中的三个新功能。 一个产生数据。另一个产生决策。
问题
回答者
结账流程比上月慢吗?
监控
“比上个月慢”糟糕到需要行动了吗?
管理
是哪项服务增加了延迟?
监控
哪个团队负责修复,期限是什么时候?
管理
我们在第二季度是否违反了 99.9% 的可用性目标?
监控
我们欠客户什么,是否需要重新协商 SLA?
管理

监控数据无法做出的决策

在 Dotcom-Monitor 平台数据中,大约 38% 被检测到的故障会在五分钟内自动恢复。路线波动,节点重启,故障切换完成。监控准确地报告了每一次故障。

监控无法告诉你该如何应对。以下三个决策均由管理做出:

  • 一个四分钟的自愈故障页面是否需要凌晨三点呼叫工程师,还是等到早晨报告?
  • 是否计入你签署合同里的可用性指标?这取决于合同是否设定了最小故障持续时间,许多合同没有。
  • 消除该类故障所需的工程工作是否值得超越路线图上的下一个任务?

工具适用范围:Dotcom-Monitor 可在你作出决策后执行第一个决策。告警过滤器会在检测连续失败N次,或在N个位置中的M个失效时才发出通知,因此单个波动的检测点不会打扰任何人。平台无法选择 N 的大小。设置过高会错过真实故障;设置过低会导致告警轰炸。这个阈值由管理决定,取决于你愿意为睡眠质量交换多少风险。

APM 策略的五个组成部分

APM 的标准划分有五个部分,十多年来一直是该类别的参考模型。每部分对应团队可用“是”、“否”或尴尬停顿回答的问题,也对应外部平台(如我们)是否涵盖此部分的明确答案。

Diagram of the five components of an APM strategy: end-user experience monitoring, runtime architecture discovery, user-defined transaction profiling, component deep-dive monitoring, and application analytics.
APM 策略的五个组成部分。每个对应管理者可以问团队的一个问题。

1. 终端用户体验监控

你的客户实际体验到的:页面加载、交易完成和错误,从客户所在位置测量,而非网络内部。该部分将你的 CDN、DNS 提供商和你无法控制的支付网关纳入测量范围,而非排除在外。

问你的团队:我们从自身基础设施外测量了哪些用户路径,频率如何?如果答案是“主页每五分钟检测一次”,说明你测量的远不如预期。真正的网站应用监控覆盖整个流程——登录、搜索、购物车、结账——而不仅仅是前门是否打开。

Dotcom-Monitor 完全覆盖此部分。脚本路径通过真实浏览器,从六大洲的三级检测点运行,支持 40 多种桌面及移动浏览器和设备组合,模拟 2G 至 4G 网络条件,让你看到慢速连接的客户体验。它不做的是:告知真实用户实际行为。这是定时运行的脚本流程,而非真实用户监控。了解六种结账变体中哪一种被放弃是 RUM(真实用户监控)的范畴,属于不同的产品类别。

2. 运行时应用架构发现

准确且实时的依赖关系地图。不仅是系统设计时的图示,而是真正反映今晨运行状况的地图,包括三月承包商添加的服务。

问你的团队:我们能否在无人手绘的情况下生成当前依赖图?如果必须由人工回忆重建,说明你的事件响应起步就是搞清系统长啥样。

Dotcom-Monitor 不支持此功能,这是无代理方案的最大缺口。自动发现内部服务图需要在运行时安装代理。我们覆盖的是外部依赖面:DNS 解析、证书过期、第三方 API 端点,以及多区域的路由跟踪,以捕捉 ISP 级路由变更。那是代码外部的依赖关系,代理工具最难访问的部分。

3. 用户定义的事务分析

跟踪重要业务事务——从报价到签约,从加入购物车到订单确认,从登录到仪表板加载——而非平均所有请求。平均值掩盖了问题事务。

问你的团队:请说出五个在失败时导致成本的核心事务。五个事务是否均有单独监控并独立报警?大多数团队能说出事务但难证明五个均覆盖完备。

Dotcom-Monitor 完全覆盖此项。EveryStep 录制一次完整路径,再定时回放,提供每步时间、屏幕截图和 HAR 导出。脚本登录支持 Okta、Auth0、Azure AD 和 Ping,能捕捉仅在第 4 步(共 6 步)会话令牌过期时产生的失败。不支持的是:分析事务内代码路径。你可以知道第 4 步用了 9 秒,但不知道是哪个函数耗时。

4. 组件深度监控

应用内部细节——数据库调用、队列、外部 API 调用——并追溯至触发它们的事务。缺少追溯,你得到的是混乱的组件指标,无法关联用户投诉。

问你的团队:一个关键事务变慢时,从故障发生到明确责任组件用了几分钟?这通常是事件最长单段,也是值得投入缩短的环节。

Dotcom-Monitor 部分覆盖。页面加载瀑布图展示所有资源的时间、阻塞渲染的资源和 JS 错误;API 监控可串联请求,传递认证令牌,针对每个端点断言响应;协议检测确认过期证书或下游服务故障。不支持的是:定位慢 SQL 查询或持锁方法。这是代理工具的典型领域,无代理测量无法替代。

5. 应用分析

将收集数据转为决策:容量规划、趋势报告、SLA 证据,以及新一轮性能工作的业务理由。

问你的团队:上季度我们基于 APM 数据做出的决策是什么?没人能举例,说明你浪费预算收集未使用的数据,这是 APM 预算被削减的最常见原因。

Dotcom-Monitor 覆盖报告部分:提供针对正常运行时间、响应时间和错误率的 SLA 报告,支持定时导出和白标处理(如你是向客户报告的 MSP)。不支持的是:用作通用分析仓库。你无法在平台内关联监控数据与收入或漏斗数据,这些属于数据仓库范畴。

应用性能管理的益处

大多数公开的 APM 益处列表不考虑你的业务实际情况。以下是管理者能检查的有意义指标及对应机制。

改善用户体验

从数据中心测得的性能和从圣保罗客户手机的 4G 连接测得的性能不同。后者影响决策,反映第三方脚本、DNS 解析和区域 CDN 行为,服务器端指标都无法体现。机制是地域加设备:从客户所在区域,使用客户的浏览器和网络速度运行同一路径,区域问题直接显现在图表,而非两天后收到支持工单。

提升运维效率

大多数事件最长时间不是修复,而是“发现异常”到“明确责任团队”之间的时间。缩短该时间的机制是采集故障瞬时的证据,而非事后还原。Dotcom-Monitor 失败时向值班工程师提供失败步骤、截图、视频、控制台日志和瀑布图,无需复现。

成本优化与节省

节省体现在两处。过度配置的基础设施,因为团队基于未测量的峰值做容量规划,APM 数据告诉实际峰值;工具费用,视厂商计费方式而定。代理全栈平台通常按主机数或数据量计费, fleet 或日志量增加,费用增长。Dotcom-Monitor 按监测数、频率和平台组合计费,无主机或座席收费,无数据摄取费。无论哪种方式,成本转移到不同变量,关键看你能控制哪个变量。

知情决策

针对已知事件(发布、黑色星期五峰值、截止日期)做容量规划,基于的是基线数据。没有基线,“我们能否处理 5 倍流量?”由会议中最有自信者回答。机制很简单:同一路径定时运行足够多个月,持续获取可比数据。

主动问题检测与解决

该益处的可测量指标是:你发现了多少事件是在客户报告之前?无法回答者往往发现实际检测率比预期差。定时检测提高发现比例,不论应用是否有人使用,这样你能在周日凌晨四点发现故障结账。限制是仅涵盖被脚本过的路径,未脚本路径可能无声故障。

优化应用部署

性能回退最便宜的修复时机是发布前。拥有基线的团队能在部署流水线设置阈值:测试环境结账交易慢 20% 以上时停止构建。无基线则回归代码发布后一周在生产被发现,届时无人记得代码细节。实操是用同一录制路径测试测试环境和生产环境。测试环境如置于 VPN 背后或无公网地址,部署私有代理使检测表现与公网一致。

应用性能管理市场及评估厂商方法

为何公开市场规模差异大

搜索“应用性能管理市场”,你会看到分析公司推销的各种数字。对比发现同一年估算相差数十亿,甚至不是四舍五入误差。

差异不是粗心,而是边界定义不同。有的统计整个可观测平台;有的只统计其中的 APM 模块;有的包含或排除基础设施监控、日志管理和数字体验监控。一个看似低的数字往往是旧预测,没有注明基年。预算申请前请核实三点:哪家公司发布、报告涵盖内容、所指年份。没这三条的数字不是有效测量。

APM 工具的主要类别

代理式全栈平台。如 Datadog、New Relic 和 Dynatrace,在应用旁安装代理,从内部进行工具化。这让你获得代码级细节——慢 SQL 查询、持锁方法——其他方式无法获取。代价是部署复杂和费用随基础设施增长。计费一般按主机数、摄取数据量、用户数或三者组合。以 Dynatrace 为例,2026 年 8 月发布的全栈级别,每月每 8 GiB 内存主机 58 美元,计费单位是内存 GiB 小时,跟流量无关。

无代理外部监控。模拟客户视角监控应用,无需在代码中安装任何东西。监测客户看到的,包括你依赖但无权控制和无法工具化的第三方 SaaS。Dotcom-Monitor 的应用性能监控软件属于此类,通过真实浏览器从外部位置回放脚本用户路径,一般称为合成监控。因检测视角是外部,底层运行时环境无关紧要:裸机、虚拟机、Kubernetes 和 Serverless 都一样检测。

开源和基于 OpenTelemetry 的方案。由 OpenTelemetry 工具和 Prometheus、Grafana、Tempo、Jaeger 等后端自组。无许可费,无厂商捆绑数据格式。成本转到工程:有人构建、有人运维、有人值守。适合已有平台工程师的团队,不适合挤压产品开发资源的团队。

SaaS 与自托管。穿插在以上三类中。自托管由你掌控数据驻留和保留要求,承担运维负担;SaaS 则相反。受监管行业通常先解决该问题。

外部监控能回答的问题及限制

多数组织最终采用多类工具,因不同类别回答不同问题。以下是无代理平台(如我们)的覆盖拆分,明示哪些问题未被覆盖:

问题
无代理,外部视角
你真正需要的
法兰克福的用户现在结账功能正常吗?
是的——从法兰克福检查点回放旅程
上次发布是否减慢了页面渲染?
是的——比较前后瀑布图
哪个第三方依赖出了问题?
是的——DNS、证书、API 及协议检查
我们是否达到了签订的 SLA?
是的——针对您的阈值的 SLA 报告
哪个数据库查询慢?
基于代理的平台
服务网格中哪个服务引入了延迟?
分布式追踪
真实用户放弃前做了什么?
真实用户监控
我们能承受多少负载才会崩溃?
一个负载测试工具

除了功能列表,还需检查什么

功能清单趋同。大多数严肃的 APM 工具都能做到大多数事情。真正的差异会在签约后出现:

  • 费用驱动因素。主机数、摄取的千兆字节数、座位数、监控数量或检查频率?选择与您的系统增长方式匹配的计费模型。按主机计费对运行许多小容器的团队不利。按千兆字节计费不利于详细日志记录。按监控计费不利于覆盖范围的广度。
  • 默认数据保留时间。询问包含哪些内容以及延长保留时间的费用。保留时间是报价价格与实际账单之间的区别所在。
  • 按主机计费与按事务计费。如果流量平稳但设备持续增长,按事务计费更友好。反之,则按主机计费更合适。
  • 首次有效信号的时间。代理部署需要平台团队批准、变更窗口和回滚计划。外部监控只需要一个 URL 或录制的流程。询问每个供应商首次真正报警需要多长时间,而不是合同开始多久后。
  • 合同形态。合同期限、年度增长承诺、超额费用以及使用低于承诺量时的处理方式。
  • 退出成本。如果你离开,能带走什么?OpenTelemetry 原生的工具是可移植的。专有代理则不是;重新监控是一个项目,而非一个任务。

为小型团队设计的 APM

没有专门观测职能的团队不应运行企业级 APM 的缩减版。四个优先事项涵盖了大部分价值。

从外部开始。如果你只能测量一件事,那就测量你最重要的三个用户流程是否完成,且覆盖客户所在地区。这能捕获导致收入损失的失败,无代理的应用性能监控软件可无需代码更改和部署项目实现此目的。实际上,这意味着录制一次流程,然后按计划回放,这只需要几分钟而非一个迭代周期。

在分布式之前跳过分布式追踪。跨多个服务请求时,追踪才体现价值。在单体应用和数据库中,它是增加成本和复杂度,而日志已经包含了详细信息。

一个告警通道,一个负责人。分散在四个工具的告警,变成没人看的告警。选择团队已使用的通道——PagerDuty、Slack、Teams、短信或任何系统的 webhook——把所有告警都导入那里。

购买你实际会查询的保留时间。13个月的高分辨率数据听起来谨慎。如果没人查看超过两周以上的数据,你就是为安心付费。

警告:外部检查告诉你哪里的结账流程出错了及哪个步骤失败,但不会告诉你代码中为什么出错。在这个规模下,这通常是正确的权衡,因为最昂贵的问题是不知道问题所在。一旦“是哪个服务?”成为真正的问题,这种权衡就不再适用。

构建 APM 实践的五个阶段

团队很少会从零跳跃到成熟。它们会经历可识别的阶段,知道自己处于哪个阶段,能指导下一步行动。

Five-stage APM maturity path: reactive, watched, measured, governed, and enforced.
APM 实践的五个阶段,从客户告知你问题,到基于性能预算阻止部署。

阶段 1—被动

你是从客户那里,或从突然繁忙的支持队列得知问题。没有基线、没有目标、没有负责人。如果你的前三个事件是别人报告给你,而不是你主动发现的,说明你处于这个阶段。

阶段 2—已监控

已有可用性检查和基本告警。你知道什么时候系统宕机,但不知道原因,也不知道宕机前速度有多慢。如果你只能说“站点宕机了 22 分钟”,却说不出“结账功能在此之前失败了两个小时”,说明你处于这个阶段。向阶段 3 的转变是停止检查 URL,开始检查用户流程。

阶段 3—已衡量

关键事务被单独监控,存在基线,每个都指定了负责人。性能讨论基于数字而非印象。如果有人能回答“结账速度比上月慢吗?”而不需要发工单,说明你处于这个阶段。向阶段 4 的转变是将指标写入目标文档并为每个指标指定负责人。

阶段 4—已治理

目标被书面化,映射到你签署的 SLA,按计划审查,关联预算条目。性能工作按明确条款竞争路线图位置,而非听谁最吵。如果性能目标曾改变发布时间,说明你处于这个阶段。这是阶段,定期的 SLA 报告不再是可有可无,而是工程外的人也会阅读。

阶段 5—已强制

性能预算纳入部署流水线。使关键事务明显变慢的构建不会发布。如果最近一个季度内有部署因性能检查被阻止,说明你处于这个阶段。

阶段 4 是大部分商业价值实现的地方,也是唯一不需要新工具的阶段——只需达成谁负责什么的共识。

常见问题

APM 代表什么?

APM 代表应用性能管理,是设定、拥有和支付应用性能目标的业务学科。这个缩写也用于它下面的技术实践——应用性能监控。软件之外,APM 也可指制造和公用事业中的资产性能管理。

管理是业务学科:设定性能目标、分配责任、决定性能价值并与合同进行报告。监控是技术实践:为应用添加监控工具和收集数据。监控告诉你一个事务耗时 840 毫秒。管理决定是否可接受以及谁来解决问题。

收集应用性能数据并用于诊断和报告的软件。APM 工具分为三类:基于代理的平台在内部监控代码,无代理工具如 Dotcom-Monitor 的 应用性能监控软件从用户视角外部监控,第三类是基于 OpenTelemetry 的开源栈。

这取决于你需要哪一部分。代码级细节——慢查询、方法级时间、分布式追踪——需要在运行时内安装代理或 SDK。用户侧测量不需要:Dotcom-Monitor 完全在应用外运行,无需维护 SDK,也无需在服务器上部署。对于无公网地址的内部应用,Private Agent 在网络内作为单个二进制运行,是部署基础设施,而非代码监控工具。

不取决于收集了多少数据。有用的衡量包括:你在客户报告事件前检测到的事件比例,从告警到定位故障组件所用时间,是否满足合约中的可用性和响应时间目标,以及性能数据是否在最近一个季度改变了路线图或容量决策。如果以上都没有改变,无论仪表盘有多少,项目都无效。

事件更短,因为减少了弄清楚哪个团队负责问题的时间。基础设施开销更低,因为容量决策基于测量的峰值,而非猜测。有助于 SLA 报告。性能回归更少发生在客户那边,因为你在发布前就以基线检测到问题。

计费单元比供应商更重要。基于代理的平台通常按主机数或摄取数据量计费,费用随设备规模和日志量波动;非代理平台通常按监控数量和检查频率计费,费用随覆盖范围波动。我们的 APM 工具指南对这些选项进行了比较。

他们需要的是管理部分——有人负责性能目标——而非完整平台。先从外部测量你最重要的用户流程,并为每个流程指定负责人。当架构变复杂时再加深监控。

免费试用 Dotcom-Monitor 30 天

无论你纸面上的 APM 策略如何,它基于一个衡量标准:关键用户流程在客户所在位置现在是否正常。Dotcom-Monitor 通过真实浏览器,从六大洲三级监测点回放这些流程,无需代理和代码变更。它不会分析你的代码——这是基于代理工具的功能——但能告诉你客户当前的体验,助你决定下一步行动。

无需信用卡,包含所有四个平台。或者先查看方案和定价