公司明天有个直播,考虑到上次出现过问题,有个自动化推荐的接口需要做优化。先是下载项目后看了下,流程太长,也看不出来哪里出问题了。本地刚好可以测试,使用arthas吧。
首先是本地安装:(官网https://arthas.aliyun.com/doc/install-detail.html)
curl -O https://arthas.aliyun.com/arthas-boot.jar
启动本地项目,然后在输入 java -jar arthas-boot.jar 后选择自己项目的数字。输入后在浏览器打开arthas的监控: http://127.0.0.1:8563,借助idea的插件:arthas idea 来进行监控:
大概就是循环里面的,redis每次都去读取,循环次数太多 以及一个固定的查库导致的整个接口比较慢。还有就是日志 循环太多了也有耗时。 解决方法也简单,读取redis时候 读取一次,因为每次变动不会太大,读取后先缓存到redis 1小时。这样不用每次都读取,再就是 查库的数据配置到nacos里面,去掉循环的日志信息。 标签:读取,jar,redis,接口,监控,arthas,com From: https://www.cnblogs.com/thinkingandworkinghard/p/16602433.html
trace com.gwm.recommend.mvc.service.impl.VideoRecommendServiceImpl videoList -n 10 --skipJDKMethod false
看耗时在那些地方: