ARMS Go应用监控提供三种Profiling功能,帮助快速定位性能瓶颈:
启用方式:
在应用设置 - 持续性能剖析设置中开启,支持随开随关,无需重启应用,直接生效。
1. CPU Profiling:
- 收集和分析Go应用程序的CPU使用情况
- 通过火焰图展示各函数的执行时间占比
- 支持对比功能,可对比前后CPU消耗差异
- 数据采集频率:每分钟采集一次CPU运行情况
2. 内存Profiling:
- 分析内存分配情况,识别内存分配热点
- 支持对比不同时刻的内存分配情况
- 配合Runtime监控查看Goroutines数量和堆对象数量
3. 代码热点:
- 针对特定慢请求进行代码级分析
- 在调用链详情中点击放大镜图标查看
- 可定位到具体函数的耗时(如示例中的onCpu函数消耗0.62秒)
使用建议:
- 发现接口响应慢时,先查看调用链定位慢请求
- 使用代码热点分析具体函数耗时
- 结合CPU和内存Profiling进行综合分析
- 利用对比功能分析性能变化趋势