当在压测过程中发现某些请求的耗时特别高时,会希望能够进一步分析是具体哪个方法耗时较高,以便可以对这个方法进行性能优化,达到使整体链路性能表现提升的效果,此时可通过方法追踪的功能进行定位。

1、压测实况开启方法追踪

要进行方法追踪,首先需要在压测实况的请求详情中,对方法进行「开启方法追踪」,否则无法在后续的压测报告中查看方法追踪。

压测实况-查看请求详情

找到耗时高的方法-开启方法追踪

2、方法耗时追踪

输入需要追踪的类名#方法名,点击开始追踪,系统会对此方法请求进行采样和分析,统计其下一级的所有调用子方法的耗时和所在代码行,例如体验账号的 Mall-下单流程链路的 oauth/token 的类名和方法为: com.macro.mall.service.impl.UmsAdminServiceImpl#login (其他应用节点的类名方法名请咨询开发)

输入类名、方法名

点击开始追踪,稍等几秒,即可看到这个方法的平均耗时。点击方法前的加号图标,可以查看该方法的下一层方法耗时。

查看耗时方法

通过追踪可以看到com.macro.mall.service.AuthService#getAccessToken这个方法耗时最大,几乎占据了所有耗时,继续点击方法前面的加号,挖掘该方法的下一层方法中哪些方法耗时最大。

查看子方法耗时
com.macro.mall.service.AuthService#getAccessToken

3、压测报告中查看方法追踪

在压测实况中开启方法追踪之后,后续就可以在压测报告中查看方法追踪效果了。进入压测报告,查看点击右上角的「查看性能分析报告」。

进入性能分析报告之后,先选择需要查看的应用和进程实例,切换到方法追踪,选择对一个类名#方法就可以进行查看了。

文档更新时间: 2021-10-14 11:59   作者:ShuLieVip
可以看到这个方法耗时较大,基本可以判断耗时主要在这个方法,可以针对该方法做进一步的优化。其他耗时大的节点也可以按照此方法挖掘瓶颈点。