• SpringBoot 启动慢的解决办法


    项目集成了很多内容,有 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秒
    
  • 相关阅读:
    CSS样式表
    lianxi!
    传值
    lei!
    3.10
    if else&& stwitch break
    if else 语句
    2016.3.6
    进制转换
    PHP 面向对象的三大特征
  • 原文地址:https://www.cnblogs.com/luckbird/p/sprintboot_startup_slowly.html
Copyright © 2020-2023  润新知