【效能提升】本地化接口链路耗时监控实践~

前提

相信大部分小伙伴在编码完接口逻辑之后都会先在本地启动项目,然后postman调用一下接口,看看response是否符合预期,然后再部署到测试环境。

但是,如果接口场景是一些对耗时有严格要求的场景,例如: 商详、商列等,那我们在postman调用时如果发现耗时比较大,那么就需要进行一定程度的调优了,例如: 异步化;但一个接口的堆栈可能很深,那我们怎么知道到底是哪块的逻辑是耗时的罪魁祸首呢?

当然啦,有个经典的蠢办法,对于我们怀疑的可能是罪魁祸首的逻辑,在调用前后打上耗时,如下例:

 

java

复制代码

long start = System.currentTimeMillis(); // ... 可能耗时的代码逻辑 log.info("接口耗时, {}", (System.currentTimeMillis() - start));

但是这种办法实在是效率太低了.... ,我们自然是要寻求高效率的方式,也就是本文会给大家推荐的IDEA插件 -> XRebel

下面先上效果图~

耗时百分比都给你展示出来,实在是yyds


安装教程

下载插件

idea plugins里面搜索JRebelJRebel的作用是热部署的,本文重点还是XRebel

可以看到我目前安装的版本是2022.4.1!为什么不是最新的?当然是因为我不知道最新的怎么破解的啦

点我下载2022.4.1版本

下载之后,直接手动导入zip,如下所示


激活插件

下载完毕之后,接着就是激活插件了

选择Team URL进行激活

GUID生成链接:www.guidgen.com/

第一行输入:jrebel.qekang.com/{GUID}

第二行输入:邮箱格式正确,邮箱地址随便填

然后就可以激活成功啦~


配置插件

选择Work online


使用插件

可以-Dserver.port=8888指定下启动端口~

选择XRebel or JRebel + XRebel方式启动项目,记得选择火箭图标进行run

然后按照如下格式进行访问即可~

http://localhost:{项目的端口号}/xrebel

第一次访问也需要激活,按照上面跟大家说的激活方式填写即可激活~


一些坑

新UI IDEA没有可选择agent启动方式

如下可见,IDEA的旧UI直接提供了如下三种选择方式

但在新UI中就没有了直接可选择的方式

不过进过我一番寻找,还是能找到可选择的方式,路径如下


端口冲突,XRebel无法访问

这个说着就有点太倒霉了!

之前我项目的端口一直设置的是6000,但是按照上面配置后,启动访问就会出现如下问题!

我一度怀疑是不是我电脑有问题,哈哈哈哈,但其实不是,根本上的问题是我是倒霉蛋!!!

经过我一顿搜索,发现了如下内容!

Chrome默认部分非安全端口列表,虽然上面的方法可以解决问题,但建议尽量避免以下端口:

 

properties

复制代码

1, // tcpmux 7, // echo 9, // discard 11, // systat 13, // daytime 15, // netstat 17, // qotd 19, // chargen 20, // ftp data 21, // ftp access 22, // ssh 23, // telnet 25, // smtp 37, // time 42, // name 43, // nicname 53, // domain 77, // priv-rjs 79, // finger 87, // ttylink 95, // supdup 101, // hostriame 102, // iso-tsap 103, // gppitnp 104, // acr-nema 109, // pop2 110, // pop3 111, // sunrpc 113, // auth 115, // sftp 117, // uucp-path 119, // nntp 123, // NTP 135, // loc-srv /epmap 139, // netbios 143, // imap2 179, // BGP 389, // ldap 465, // smtp+ssl 512, // print / exec 513, // login 514, // shell 515, // printer 526, // tempo 530, // courier 531, // chat 532, // netnews 540, // uucp 556, // remotefs 563, // nntp+ssl 587, // stmp? 601, // ?? 636, // ldap+ssl 993, // ldap+ssl 995, // pop3+ssl 2049, // nfs 3659, // apple-sasl / PasswordServer 4045, // lockd 6000, // X11 6665, // Alternate IRC 6666, // Alternate IRC 6667, // Standard IRC 6668, // Alternate IRC 6669, // Alternate IRC

而我的项目端口6000,正在其中

将项目端口换成别的,比如:8888就好啦~

后话

我是 Code皮皮虾 ,会在以后的日子里跟大家一起学习,一起进步!

觉得文章不错的话,希望大家多多支持,一键三连~ 页可以在 掘金 关注我~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值