温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

spring boot中怎么优化启动速度

发布时间:2021-08-05 16:17:23 来源:亿速云 阅读:1127 作者:Leah 栏目:编程语言

这期内容当中小编将会给大家带来有关spring boot中怎么优化启动速度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

步骤如下:

将日志级别设置为debug,启动后重点关注以下输出日志内容

=========================
AUTO-CONFIGURATION REPORT
=========================

然后复制 Positive matches 里面所有出现的自动配置对象,删除启动类中的SpringBootApplication注解,改为手动配置,如下:

@Configuration
@Import({
xxAutoConfiguration.class,
})
public class App {

以上步骤操作后,是不是觉得没啥优化空间了,那你就大错特错了,接下来我们可以分析下boot中有多少实现xxRunner接口的类,如果发现该类运行比较耗时,这时候我们就可以下手去优化它,具体分析步骤如下:
  1. 通过ApplicationContext#getBean(XxRunner.class),就可以知道当前项目中有多少Runner

  2. 然后监听每个Runner运行过程需要消耗的时长,当然如果通过第一步获取到的Runner很少可以忽略以下步骤

  3. 将所有的Runner子类的run方法由原来的同步改为异步,这对程序正常运行基本上不会有影响,如果确实需要同步执行的,可以忽略这些特需类

具体如何实现,此处只提供思路,不提供代码,哈哈,很简单利用aop去拦截XxRunner#run方法,然后使用线程池去执行run方法即可

经过以上操作基本上完成大部分优化工作,接下还有没有优化空间,当然有,具体如下:
  1. 排除项目用多余的依赖jar,具体如何排除可以通过idea中的maven-helper插件去分析jar依赖关系

  2. 如果项目用到swagger,在生产环境打包时去除swagger所有依赖,因为生产环境根本用不上,swagger生成api接口时需要扫描所有的controller,这是很费时的过程

  3. 接下来就是整个性能优化,此处就不做说明,如内置tomcat调优或者直接换成undertow,jvm调优等自行百度

上述就是小编为大家分享的spring boot中怎么优化启动速度了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI