首页 > 编程语言 > 详细

SpringBoot 启动慢的解决办法

时间:2020-07-19 00:06:30      阅读:314      评论:0      收藏:0      [点我收藏+]

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

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

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

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

  • 在系统环境变量中设置 IDEA_PROFILE=dev
  • 修改 build.gradle
    //有些包在开发环境可以不用加载,可缩短启动时间
    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‘
    }
  • 填加环境变量后,需要做一次 gradle clean
  • 然后重启 IDEA,在 build 时看到下面红框中的 dev 就对了
    技术分享图片

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

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

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

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

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

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

SpringBoot 启动慢的解决办法

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!