调查线上接口超时报警的方法步骤
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍"调查线上接口超时报警的方法步骤",在日常操作中,相信很多人在调查线上接口超时报警的方法步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"调查线上接口超
千家信息网最后更新 2025年01月25日调查线上接口超时报警的方法步骤
这篇文章主要介绍"调查线上接口超时报警的方法步骤",在日常操作中,相信很多人在调查线上接口超时报警的方法步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"调查线上接口超时报警的方法步骤"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
常用的命令包括 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安全错误
数据库的锁怎样保障安全
gtd数据库数据利用
政务软件开发公司靠谱吗
怎么刷三十二k服务器
秦淮区网络软件开发
山西监狱网络安全案例
深圳盛世汇互联网科技有限公司
长沙java软件开发教程
数据库中建两个表的联系
容器软件开发
易练红在省委网络安全
软件开发公司核心
ps中ui参考线数据库
盛传网络技术平台
数据库pta关系数据理论
杭州跃邦网络技术有限公司
阿里云服务器怎么找到我的产品
服务器域管理属于什么业务
猫王互联网科技贴吧
服务器的管理口ip
天津精选labview软件开发
wr720n硬改打印服务器
吴江区口碑好服务器高质量的选择
实现队列的数据库
kis标准版换服务器
服务器上安装sbt
查询违章显示交管局服务器错误
软件开发企业技术服务费税率
机房内的服务器部署方法
广州市诚毅科技软件开发公司
北京环境监测软件开发价位