应用性能智能巡检最佳实践

概述
应用性能检测基于 APM 异常根因分析检测器,选择要检测的 service 、 resource 、 project 、 env 信息,定期对应用性能进行智能巡检,通过应用程序服务指标异常来自动分析该服务的上下游信息,为该应用程序确认根因异常问题。
前提条件
- 注册观测云,请参考:https://auth.guance.com/businessRegister
- 安装 DataFlux Func 平台。请参考:https://func.guance.com/doc/quick-start/
在观测云上创建创建 API Key
1、登录观测云控制台,选择「管理」 - 「API Key管理」。
2、创建新 Key。
3、复制并保存相应的 API Key,后续会用到。
部署应用智能巡检脚本
1、登录 Func 平台,进入脚本市场,安装观测云自建巡检 core 核心包脚本。
2、安装观测云自建巡检(APM 性能)脚本。
3、根据提示输入 API key ID ,API key 和 Guance Node,然后点击部署。
Guance Node 默认为杭州节点,节点情况可以参考:https://func.guance.com/doc/ui-guide-development-module-guance-node/
4、点击前往启动脚本跳转到开发页面。
5、点击执行脚本。
6、脚本执行成功后,登录观测云,在「监控器」 - 「智能巡检」可以看到 APM 性能巡检成功开启。
巡检事件报告
在本次智能应用性能巡检中,我们检测到 ruoyi-gateway 服务的 P99 响应时间出现异常,具体异常情况如下:
- 检测对象:ruoyi-gateway
- 异常描述:P99 响应时间呈现异常上升趋势
- 异常时间范围:2024-10-14 20:25 至 2024-10-14 21:15
根因分析
通过对 ruoyi-gateway 服务的深入分析,我们发现异常的主要原因如下:
- 服务响应时间增加:P99 响应时间从正常水平显著增加至 150ms,而正常情况下应为 90ms 以下。
- 请求处理延迟:在特定时间点,ValidateCodeHandler.handle 处理请求的时间超过了正常范围。
事件概览
在巡检期间,我们记录了以下关键性能指标:
- 平均响应时间:9.28ms
- 最小响应时间:162μs
- 最大响应时间:139.45ms
- 异常时段:21:25 至 21:15
异常详情
异常详情显示,ruoyi-gateway 服务在特定时段内响应时间显著增加,具体数据如下:
- 21:10:响应时间开始上升
- 21:10 - 21:15:响应时间达到峰值
异常影响
异常影响分析表明,以下服务和资源受到此次异常的影响:
- 服务名称:ruoyi-gateway
- 资源:GET /code
- 服务名称:ruoyi-nginx
- 资源:GET /prod-api/code
- 服务名称:ruoyi_web_demo
- 资源:/prod-api/code
异常链路采样
通过对异常链路的采样,我们发现以下链路 ID 相关的请求处理存在问题:
- 时间:2024-10-14 21:06:33
- 服务:ruoyi-gateway
- 资源:ValidateCodeHandler.handle
- 链路ID:8895535103034920389
告警通知
在异常发生时会收到如下告警信息:
点击“前往工作云空间查看”可以直接跳转到观测云事件查看器查看事件详情。
在根因分析页面,点击跳转链接,可以直接跳转到相应异常链路。
结论与建议
综上所述,ruoyi-gateway 服务在指定时段内经历了显著的性能下降,主要表现在 P99 响应时间的增加。这可能是由于后端服务处理延迟、资源竞争或配置问题导致的。建议采取以下措施:
- 优化后端服务:检查 ValidateCodeHandler.handle 的实现,优化代码逻辑,减少不必要的处理时间。
- 资源监控:增加对关键资源的监控,及时发现并解决资源瓶颈问题。
- 配置审查:审查相关服务的配置,确保服务设置合理,能够应对高流量情况。
- 性能测试:在修改后进行性能测试,确保优化措施有效,且未引入新的性能问题。
