- 文档首页
应用性能监控全链路版
用户指南
应用性能监控
最佳实践
排查应用卡顿问题
排查应用卡顿问题
网页卡顿和页面加载过慢是互联网应用常见的问题,但定位/排查卡顿问题存在诸多难点。针对这类问题,APMPlus 提供应用全方位监控,增强可观测能力,以便更好的理解服务内部运行情况并辅助报错诊断。本文为您介绍如何使用 APMPlus 排查应用卡顿问题。
应用卡顿是指应用在运行过程中出现响应迟缓、操作不顺畅的现象,例如:页面卡顿、页面加载过慢等,严重影响用户使用体验。传统应用卡顿问题排查和解决过程复杂,耗时较长,主要痛点如下:
- 用户反馈模糊:通常情况下,用户只能描述卡顿的表面现象,而无法提供更详细的信息,例如:“感觉很慢”,但并不能提供卡顿发生的具体操作、时间、频率等。这使得开发人员难以根据用户反馈精准定位卡顿原因。
- 应用监控数据缺乏:应用需要一个完善的监控体系来自动监控应用的每一个接口,自动记录出现问题的调用。但有些应用并没有完善的性能监控机制,无法准确获取卡顿发生时的关键信息,如各组件的资源使用情况、函数调用栈等。特别是对于一些小型应用或者老旧的应用,可能没有集成专业的性能监控工具。
- 应用执行链路太长:在现代应用中,往往包含多个模块、服务和组件,它们之间相互关联、交互复杂。从前端页面到后台网关,从 Web 应用服务器到后台数据库,任何一个环节出现故障都有可能导致整体卡顿,要确定卡顿是发生在前端界面渲染、后端服务处理还是数据库查询环节非常困难。另外,采用微服务架构的应用,链路更加复杂,而且不同组件可能由不同的团队和人员维护,加剧了问题排查的难度。
- 日志不完整或难以解读:卡顿、报错等问题出现的位置往往无法预期,应用日志可能没有记录足够的与卡顿相关的信息,或者日志的格式复杂、难以解读。例如,一些应用的日志只记录了基本的操作信息,而没有记录资源使用情况或函数执行时间等关键信息。
探针是一种用于收集应用程序运行时数据的工具或组件,提供数据收集、故障诊断等能力。为应用安装 APMPlus 探针,能对应用进行全方位监控。在不改动应用代码的情况下,使用应用性能监控的持续剖析、调用链路诊断、接口监控等功能,全方位监控应用中所有慢调用。
应用接入应用性能监控过程,将完成数据上报和数据接入,同时完成 APMPlus 探针安装。可根据实际情况选择合适的应用接入方式,具体操作参见:应用性能监控接入指南。 应用完成 APMPlus 探针安装后,APMPlus 将全方位收集和展示选定时间内应用的总请求量、平均响应时间、错误数、HTTP状态码统计、接口维度聚合指标、上下游调用指标、运行时监控指标、错误和异常次数、慢 SQL 次数等观测数据。
可参考以下步骤查看慢调用的统计信息:
- 单击目标服务名称,在 服务详情 页面的 接口监控 页签中,查看具体接口的 QPS、错误率和时延数据,快速定位时延较高的接口。
找到请求入口的慢调用后,可以通过链路分析定位到影响该请求的具体下游服务和具体调用。
- 在 服务详情 页面的 接口页签 中,单击慢调用的接口名称,前往该服务接口的 请求快照 页面。
- 在页面左侧筛选框里指定耗时下限,或通过页面右侧表格的耗时列排序,筛选出耗时较高的调用。
- 单击目标 TraceID,前往该调用的 单链路详情 页面。通过火焰图、拓扑图或列表方式查看整个链路上的 Span 信息,以及关联的日志和指标信息。
- 通过分析 Span 耗时,快速定位影响该请求的具体下游服务和具体调用。
找到影响该请求的具体下游服务后,可以继续下钻到主机性能,分析是否是主机资源紧张导致的应用卡顿。
- 选中该服务的 Span,选择右侧 详细信息 > Resource 页签,查看各类型的主机性能指标,包括:CPU、内存、负载、磁盘使用率、IO 延迟等。
- 继续深入分析主机上各进程的内存占用分布,协助分析其他进程对应用的影响。
应用完成 APMPlus 探针安装后,APMPlus 会自动关联链路和日志信息,并提供便捷的链路相关日志的查询能力。选择 单链路详情 页面的 Trace完整日志 页签,可展示所有与本链路相关的日志信息,通过快速获取的全链路完整日志信息,可以进一步分析应用卡顿问题。
推荐 创建报警任务 实时监控应用的运行情况,可在问题发生或指标异常时自动发送报警通知,及时掌握风险信息,避免问题出现后被动诊断错误原因。 最近更新时间:2026.02.10 19:56:31