背景
有个 ES 集群,业务写数入集群时经常导致集群 CPU 告警和集群端口响应超时(20s无响应),故希望通过采集火焰图分析原因。
工具选择
Arthas
Introduction
Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
- 是否有一个全局视角来查看系统的运行状况?
- 有什么办法可以监控到JVM的实时运行状态?
- 怎么快速定位应用的热点,生成火焰图?
Arthas支持JDK 6+,支持Linux/Mac/Winodws,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。
以上描述摘自官方描述~~~
Arthas 自 3.1.5 版本起集成了开箱即用的 Profiler / 火焰图功能,因此首选了通过 Arthas 工具来采集。
- 国内镜像网站 Gitee: https://gitee.com/arthas/arthas
- Github:
使用async-profiler采集Elasticsearch火焰图

本文介绍了在Elasticsearch性能分析过程中,如何使用Arthas和async-profiler采集火焰图。由于Arthas在特定环境下遇到权限和GLIBC版本问题,最终选择了async-profiler,并成功在1.7版本上生成了火焰图。
最低0.47元/天 解锁文章
1779

被折叠的 条评论
为什么被折叠?



