如何使用Arthas的trace命令排查线上服务平均响应时间太长问题

发布时间:2021-07-27 11:12:27 作者:chen
来源:亿速云 阅读:679

本篇内容主要讲解“如何使用Arthas的trace命令排查线上服务平均响应时间太长问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Arthas的trace命令排查线上服务平均响应时间太长问题”吧!


 

前言

最近线上环境某个接口服务响应时间偏长,导致用户体验超差,那平时该怎么快速的排查这类问题呢?

本文接下来将从两方面展开:

下面我们先模拟线上环境:利用 SpringBoot 项目搭建,并且编写好服务接口;

注意:服务接口代码为了简便,只写了 一些大循环的代码 来模拟较长的耗时;除此之外,实际上还包含很多多其它常见的情况,例如:

服务接口代码如下:

如何使用Arthas的trace命令排查线上服务平均响应时间太长问题  

test1、test2方法如下:

如何使用Arthas的trace命令排查线上服务平均响应时间太长问题  

第二步 JMeter 模拟用户调用的测试脚本配置:

如何使用Arthas的trace命令排查线上服务平均响应时间太长问题  

第三步服务接口 SpringBoot 代码 和 JMeter 测试脚本的所在项目位置:

如何使用Arthas的trace命令排查线上服务平均响应时间太长问题  

服务接口代码准备好后,使用IDEA开发工具等方式将其导出为 Jar 包 。

为了模拟最为真实的线上环境,需将准备好的 服务接口 Jar 包放到 服务器中,然后使用命令 java -jar *.jar 运行起 Jar 包;然后使用 JMeter 进行接口的调用,在 聚合报告 中发现平均响应时间偏长;如图:

如何使用Arthas的trace命令排查线上服务平均响应时间太长问题  

如果有用户反映某功能响应时间太长了,别着急,根据下面的方法进行排查,绝对方便又快速的找到问题原因。

Arthas 问题排查:

如何使用Arthas的trace命令排查线上服务平均响应时间太长问题  

此时诊断工具还没有运行完,需要手动选择要诊断/监控的java 进程,并且此工具也会列出全部的java进程号,你只需要输入 它们最前的序号 [1] 即可;如图:

如何使用Arthas的trace命令排查线上服务平均响应时间太长问题  

运行完后,可以使用 trace命令 监控服务接口方法中调用的其它方法的耗时;

trace 命令能主动搜索 class-pattern/method-pattern 对应的方法调用路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。

具体命令格式:trace [全限定类名][类中的方法名]

例如:监控本服务接口;com.lyl.controller.TestController : 全限定类名,process:TestController 类中的方法;

具体命令举例如下所示:

trace com.lyl.controller.TestController process
 

trace 命令执行结果展示,如图:

如何使用Arthas的trace命令排查线上服务平均响应时间太长问题  
❝  

通过trace 命令监控统计的调用链路各个方法的执行耗时,可以发现调用的 com.lyl.util.StringUtil 类中的 test2() 方法执行耗时比较大;所以需要特别去查看这个方法的代码是否存在问题;如果这个代码中还存在许多的方法调用链路,则需要再次使用 trace 命令进行监控调用链路的耗时,找出具体可能存在问题的方法。

❞  

Arthas 阿里开源的诊断工具还提供了很多的命令供使用,大家可以去查看学习。B站搜“业余草”也可以查看到我之前录制的视频教程。

另外这里有两个需要注意的地方:

到此,相信大家对“如何使用Arthas的trace命令排查线上服务平均响应时间太长问题”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. 利用Arthas定位线上问题实例
  2. java开发中线上问题排查命令的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

arthas

上一篇:XML中DTD文档类型定义完全解析的案例

下一篇:XmlSerializer对象中Xml序列化和反序列化的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》