背景
作为一名Java攻城狮,相信对SpringBoot绝对不陌生,毕竟当前技术栈创建项目普遍都是SpringBoot应用。
直接运行main方法,一个web应用立马启动,不用再去安装tomcat等等之类的web容器。
但是随着项目不断迭代,项目越来越庞大,启动耗时也一直在增加,这时面临着项目启动慢的问题。
看着SpringBoot的启动流程源码,一顿分析加百度,可能收效甚微,这时候需要一个利器帮你提提速。
所以今天小编给大家介绍一个SpringBoot应用启动性能的分析利器:Spring-Startup-Analyzer
介绍
Spring Startup Ananlyzer 主要功能就是采集SpringBoot应用启动过程数据,生成交互式分析报告,用于分析Spring应用启动卡点,支持Spring Bean异步初始化,减少优化Spring应用启动时间,并且跨平台支持。
特性
-
采集Spring应用启动数据,生成多样化的报告,如Bean耗时图、时序图,方法调用图等等
-
跨平台多端支持, Windows、Mac、Linux 客户端通通实用。
快速使用
官方提供了手动安装和一键脚本安装两种安装方式:
官网地址:https://github.com/linyimin0812/spring-startup-analyzer
我门采用手动下载方式,下载对应的包,然后解压即可
下载地址:https://github.com/linyimin0812/spring-startup-analyzer/releases/download/v3.0.0/spring-startup-analyzer.tar.gz
1、应用启动
我们项目是在IDEA中开发,所以直接VM options选项中添加参数即可(换成自己的jar包所在路径):
然后启动项目即可。
在控制台看到输出======= spring-startup-analyzer finished, click http://localhost:8065 to visit details. ======
,则可判断采集是否完成
我们直接点击这个链接就可以查看报告。
2、查看报告
出于项目隐私,我们直接看官方提供了一个实例报告地址:
https://linyimin-blog.oss-cn-beijing.aliyuncs.com/spring-satrtup-analyzer/hokage-20230618000928-192.168.0.101-analyzer.html
-
Spring Bean初始化详情
-
Spring Bean初始化时序图
-
方法调用次数、耗时统计(支持自定义方法)
-
应用未加载的jar包(帮助fatjar瘦身)
-
应用启动过程线程wall clock火焰图(支持指定线程名称,不指定则采集全部线程) [
可以看到整个图表非常详细,我们可以针对报告进行自己业务优化即可
总结
总的来说Spring-Startup-Analyzer使用简单,操作简洁,但是生成的多样化图表对我们益处非常多,大大的缩短了我们排查的时间,可以说是我们测试环境中不可多得分析利器,最后有需求的同学可以尝一下,参与其中,感受他的的能力!!!
最后在贴上地址:
github代码:https://github.com/linyimin0812/spring-startup-analyzer
写在最后(私活源码)
今天给大家分享一套基于Springboot+Vue的仓库管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取)
一、系统运行图(设计报告和接口文档)
1、登陆页面
2、物品信息管理
3、设计报告包含接口文档
二、系统搭建视频教程
源码免费领取方式
扫码关注本号,回复 仓库
扫码关注本号,回复 仓库
持续关注,有更多私活源码免费分享