SpringBoot 启动慢的解决办法

时间:2020-07-19 00:06:30   收藏:0   阅读:314

项目集成了很多内容,有 700 多个类,IDEA 中启动一次需要 70 秒,非常影响开发效率。

研究问题原因发现有以下几种情况会导致启动速度慢,优化后启动只需 26 秒左右了:

1. 和网卡有关,禁用一些不用的网卡可以提高 2~3 秒,因为启动时会根据 ip 地址获取机器名,有的网卡获取不到会等 1 秒超时才返回。

2. gradle 中如果依赖了 sleuth 会导致项目启动非常慢,可以在开发环境禁用掉,通过系统变量控制,操作步骤:

    //有些包在开发环境可以不用加载,可缩短启动时间
    if (System.getenv("IDEA_PROFILE") == ‘dev‘) {
        println ‘dev‘
    } else {
        println(‘not dev‘)
        compile group: ‘org.springframework.cloud‘, name: ‘spring-cloud-starter-sleuth‘, version: ‘1.3.3.RELEASE‘
    }

3. 如果用了 AOP 并且切入点使用了 @annotation 注解的切入方式,会导致系统启动时对每个方法都判断是否有对应注解,非常耗时

如果这些注解在开发环境作用不大,可通过 Profile 注解设置为只在生产和测试环境生效,或改用其他方式切入,不要用 @annotation 注解切入

4. 另外配置文件增加以下配置,关闭一些监控功能,可以快2秒

  endpoints:
    enabled: false  //关闭一些监控功能,可以快2秒

5. 启动参数中,build 时去除 test 任务可以让编译快一些,按下图方式设置

技术分享图片
技术分享图片

原文:https://www.cnblogs.com/luckbird/p/sprintboot_startup_slowly.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!