【arthas】接口特别慢,怎么定位
跑一个接口,是同步操作,200条数据,跑了3分20秒。这让我手写都不会这么慢。
所以问题出现,怎样定位呢,
方法1:jvisualvm
坦白说,不太好用(不会用)
方法2: arthas
真的超级无敌好用(推荐这个)
比如有一个接口请求很慢,那么,排除网络什么的外部问题,定位到就是接口慢,怎样定位究竟是接口的哪个方法慢了呢?arthas能够提供的帮助真的是让人感动。
它就是可以让你一步一步去看,究竟是哪一步慢了
语法就是 trace com.xx.xx.xxxService xxx (即 trace 类路径 方法名)
trace com.xx.xx.xxxService getVal -n 50 --skipJDKMethod false "#cost>100" ("#cost>100" 这个就是过滤耗时大于100ms的情况)
然后,回车,出现以下字样,表示就进入了一种监听状态
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 70 ms, listenerId: 6
这个时候,再去调用接口,它就会把方法里面一些耗时的方法打印出来
这样,我们就能够发现,调用了什么方法,分别耗时多少,然后找到耗时最高的,再进一步去跟踪。直到找到问题根源。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南