前言
最近负责的一个核心服务,TP999总是被上游吐槽,失败率也比较高。TP999达到了200ms+,最终通过arhas的火焰图,直接定位到了耗时的原因,是由于对象多余的序列化和反序列化导致的,去掉后性能提示了30%。本文将会顺带介绍一下火焰图的使用。
火焰图生成
如何安装Arthas这里不在介绍了,不知道的可以看笔者的前一篇文章:
Arthas实战
1.profiler start 启动采集(默认是CPU)
2.profiler getSamples 查看采样的数量
3.profiler status 查看采样的状态(是否在运行,运行了多久)
4.profiler stop 停止并生成火焰图
大家可以看到火焰图生成的路径,可以通过路径打开,也可以通过web打开(默认情况下可以打开: http://localhost: