跳到主要内容

优化启动速度(后台)

优化结果 :通过换jdk17、移除无用代码、修改MongoDB连接数,从原来的70s,变成现在21s~30s。 Started JeecgSystemApplication in 21.957 seconds (JVM running for 22.478)

常见优化步骤

  1. 升级JDK版本

    • 推荐使用JDK17,新版本JVM性能更优,启动速度提升明显。
    • 例如:从70s降至40s。
  2. 优化数据库与中间件连接

    • 检查数据库、Redis、MongoDB等连接配置,避免连接数过大或连接超时。
    • MongoDB连接数建议适当调小,减少初始化等待。

  3. 减少监控与无关服务启动

    • 关闭或减少不必要的监控组件、第三方服务,减少启动时的资源消耗。

  4. 关闭多余日志输出

    • 调整日志级别为WARNERROR,关闭其他日志输出方式,减少大量日志打印对启动速度的影响。

  5. 关闭SQL监控

    • 关闭SQL监控插件,避免启动时扫描和初始化大量SQL相关内容。

  6. 移除无用依赖和模块

    • 注释或移除joaeasyoalowapp旧版大屏demo等不必要依赖,减少Bean加载和初始化。
    • 例如:从40s提升至12s或33s。
  7. 开启Spring延迟初始化(Lazy Initialization)

    • JeecgBoot 3.8.3+ 支持全局延迟初始化Bean,极大加快启动速度。
    • 效果明显:例如原启动需要55s,开启lazy-initialization后 启动仅需27s
    • 适用于开发环境,不建议生产环境。
    • 注意:开启后flyway自动升级失效。
    • 配置方法如下:
    spring:
    main:
    # 启动加速 (建议开发环境,开启后flyway自动升级失效)
    lazy-initialization: true

  8. 排查启动瓶颈

    • 使用--debug参数或Spring Boot Actuator分析启动耗时,定位慢点。
    • 可通过spring-boot-startup-actuator等工具分析Bean加载耗时。
  9. 合理配置虚拟机参数

    • 增加JVM堆内存、调整GC策略等,提升启动性能。
    • 示例:
      -Xms512m -Xmx2048m -XX:+UseG1GC

通过以上方法组合优化,JeecgBoot后台启动速度可大幅提升。建议优先升级JDK、移除无用依赖、禁用无用日志输出、开启延迟初始化,并结合实际项目情况逐步排查优化。