调查线上接口超时报警的方法步骤
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要介绍"调查线上接口超时报警的方法步骤",在日常操作中,相信很多人在调查线上接口超时报警的方法步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"调查线上接口超
千家信息网最后更新 2025年11月10日调查线上接口超时报警的方法步骤
这篇文章主要介绍"调查线上接口超时报警的方法步骤",在日常操作中,相信很多人在调查线上接口超时报警的方法步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"调查线上接口超时报警的方法步骤"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
常用的命令包括 dashboard 、 thread -n、watch、trace 、 tt 等命令。
trace: 可以实时输出各个子调用的执行时间, 输入参数,返回值,是否该调用有异常,可以通过 trace -h 查看具体参数含义 tt: 将某一次耗时调用提取,然后重放,可以通过 tt -h 查看具体参数含义
第一步:trace定位耗时代码:
trace命令输出耗时超过 900 毫秒 的调用
trace com.kuaikan.comicbuy.repository.impl.ComicBuyRepositoryImpl getAllComicOrderFromDB '#cost>900' //查看耗时的调用路径 watch com.kuaikan.comicbuy.dao.comicbuy.ComicOrderMapper getHadPurchasedComicNumByTopicId {params,returnObj} -x 2 '#cost>10' //获取具体耗时的入参输出结果:
arthas@25316]$ trace com.kuaikan.comicbuy.repository.impl.ComicBuyRepositoryImpl getAllComicOrderFromDB '#cost>900'Press Q or Ctrl+C to abort.Affect(class-cnt:2 , method-cnt:1) cost in 786 ms.`---ts=2020-03-27 14:08:28;thread_name=DubboServerHandler-10.66.2.100:20893-thread-380;id=344;is_daemon=true;priority=5;TCCL=org.springframework.boot.loader.LaunchedURLClassLoader@533377b `---[954.270866ms] com.kuaikan.comicbuy.repository.impl.ComicBuyRepositoryImpl:getAllComicOrderFromDB() +---[0.010746ms] com.kuaikan.comicbuy.bean.ComicOrder:getTableNameByUserId() #376 // 代码里面是在循环中执行的ComicOrderMapper:getComicOrderByUserId, // count=18表示循环的次数,total是总的执行时间,min是循环中最小的执行时间,max是最大执行时间。 +---[min=3.061773ms,max=272.769328ms,total=854.625477ms,count=18] com.kuaikan.comicbuy.dao.comicbuy.ComicOrderMapper:getComicOrderByUserId() #382 +---[min=0.001283ms,max=0.006587ms,total=0.036144ms,count=17] com.google.common.collect.Iterables:getLast() #383 +---[min=0.001431ms,max=0.003022ms,total=0.032525ms,count=17] com.kuaikan.comicbuy.bean.ComicOrder:getId() #383 +---[0.001445ms] com.google.common.collect.Lists:partition() #395 +---[2.349703ms] com.kuaikan.comicbuy.dao.comicbuy.ComicOrderMapper:getComicOrderBatchIdsList() #396 +---[min=2.27E-4ms,max=0.479048ms,total=7.025685ms,count=6736] com.kuaikan.comicbuy.bean.ComicOrder:getProductType() #402 `---[min=8.2E-5ms,max=0.150606ms,total=5.636961ms,count=6736] com.kuaikan.comicbuy.bean.ComicOrder:getProductType() #403
第二步 : tt命令重放耗时调用
这一步的目的是为了判断,耗时调用是否和特定输入参数有关系 tt命令输出耗时超过 500毫秒 的调用
tt -t com.kuaikan.comicbuy.repository.impl.ComicBuyRepositoryImpl getAllComicOrderFromDB '#cost>500'
输出结果:
INDEX TIMESTAMP COST(ms) IS-RET IS-EXP OBJECT CLASS METHOD------------------------------------------------------------------------------------------------------------------------------ 1014 2020-03-27 14:40: 576.2674 true false 0x79476a4e ComicBuyRepositoryImpl getAllComicOrderFromDB 37 15 1015 2020-03-27 14:40: 852.3366 true false 0x79476a4e ComicBuyRepositoryImpl getAllComicOrderFromDB 45 85 1016 2020-03-27 14:41: 894.5568 true false 0x79476a4e ComicBuyRepositoryImpl getAllComicOrderFromDB 08 44 1017 2020-03-27 14:41: 612.3478 true false 0x79476a4e ComicBuyRepositoryImpl getAllComicOrderFromDB 30 68 1018 2020-03-27 14:42: 1162.434 true false 0x79476a4e ComicBuyRepositoryImpl getAllComicOrderFromDB 00 85 1019 2020-03-27 14:42: 1194.843 true false 0x79476a4e ComicBuyRepositoryImpl getAllComicOrderFromDB 00 248
第三步: 重复超时的请求
INDEX = 1018 的调用执行了1162.434毫秒,这个肯定是已经报RPC超时了.
查看某一个的详细 tt -i 1018
重放这个请求: tt -i 1018 -p
到此,关于"调查线上接口超时报警的方法步骤"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
方法
命令
输出
接口
步骤
报警
调查
参数
时间
学习
循环
代码
可以通过
含义
更多
结果
帮助
输入
实用
最大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东超频服务器批量定制
旧服务器改成私有云存储
广东信息软件开发公司
农业管理软件开发价格
重庆英语翻译软件开发
新华三网络技术综合实战平台
浙大中控软件开发在线笔试题
随着网络技术的不断进步英语
网络技术工程师青岛
金蝶软件开发如何选择模板
使用smo备份数据库
怎么在数据库查询里面
长沙网络安全即将开启
app线上商城软件开发公司
e-r用于描述数据库中
网络安全ids名词解释
软件开发职称怎么申报
服务器异常-9904是啥意思
淮北门店管理软件开发公司
华为1288服务器支持多大硬盘
服务器在国外的美剧app
建筑设计跟软件开发哪个好
共享电车服务器未响应怎么办
青浦区技术软件开发代理品牌
关于网络安全方面的申论
dell 服务器网卡扩容
企业新增贷款数据库
南京电脑软件开发机构
参数服务器
数据库技术的发展前景前景