专栏名称: 阿里云开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
今天看啥  ›  专栏  ›  阿里云开发者

我是如何通过火焰图分析让应用CPU占用下降近20%的

阿里云开发者  · 公众号  · 科技公司  · 2024-10-18 08:30
    

主要观点总结

文章分享了作者在使用Arthas火焰图工具进行Java应用性能分析和优化的经验,并提供了实战案例。

关键观点总结

关键观点1: Arthas火焰图工具简介及官方文档链接

文章介绍了Arthas火焰图工具,并提供了官方文档链接。读者可以通过官方文档了解如何使用该工具进行性能分析。

关键观点2: 火焰图的生成和使用

文章介绍了如何启动火焰图分析,生成火焰图文件,并解释了火焰图的横轴和纵轴代表的含义。同时,文章还介绍了如何分析火焰图,包括找大平顶和从下往上找问题的方法。

关键观点3: 火焰图实战分析案例

文章通过两个典型的实战案例,详细展示了如何使用火焰图分析Java应用的性能问题,并介绍了如何定位和解决这些问题。

关键观点4: 优化效果及成果展示

文章最后介绍了优化后的效果,包括CPU占用的降低和流量上升后的系统负载情况。同时,文章还提到后续会继续关注优化,并在大促流量突增时进行更多的性能测试和优化。


文章预览

阿里妹导读 分享作者在使用Arthas火焰图工具进行Java应用性能分析和优化的经验。 看到标题是不是很多人在想是不是标题党了,是也不是👻~,请听我细细道来~ 我们的应用代码是用Java写的,因此使用的火焰图工具是Arthas,下面的分析也是基于此。 Arthas火焰图使用 官方文档: https://arthas.aliyun.com/doc/profiler.html 启动火焰图分析 $ profiler start Started [cpu] profiling 停止 $ profiler stop --format flamegraph profiler output file: /tmp/test/arthas-output/ 20211207 -111550. html OK 如上所示默认会生成一个html的火焰图文件,指定输出格式相关可参考官方文档。 火焰图示例 火焰图横轴代表CPU的占用时间,横轴越宽代表CPU占用越多,鼠标移动上去也可以看到这个方法究竟占用了多少CPU。 纵轴代表调用栈,火焰越高代表调用栈越深。 其中绿色部分代表Java代码,黄色部分代表JVM C++代码,橙色 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览