优化启动速度(后台)
优化结果 :通过换jdk17、移除无用代码、修改MongoDB连接数,从原来的70s,变成现在21s~30s。 Started JeecgSystemApplication in 21.957 seconds (JVM running for 22.478)
常见优化步骤
-
升级JDK版本
- 推荐使用
JDK17
,新版本JVM性能更优,启动速度提升明显。 - 例如:从70s降至40s。
- 推荐使用
-
优化数据库与中间件连接
- 检查数据库、Redis、MongoDB等连接配置,避免连接数过大或连接超时。
- MongoDB连接数建议适当调小,减少初始化等待。
-
减少监控与无关服务启动
- 关闭或减少不必要的监控组件、第三方服务,减少启动时的资源消耗。
-
关闭多余日志输出
- 调整日志级别为
WARN
或ERROR
,关闭其他日志输出方式,减少大量日志打印对启动速度的影响。
- 调整日志级别为
-
关闭SQL监控
- 关闭SQL监控插件,避免启动时扫描和初始化大量SQL相关内容。
-
移除无用依赖和模块
- 注释或移除
joa
、easyoa
、lowapp
、旧版大屏
、demo
等不必要依赖,减少Bean加载和初始化。 - 例如:从40s提升至12s或33s。
- 注释或移除
-
开启Spring延迟初始化(Lazy Initialization)
- JeecgBoot 3.8.3+ 支持全局延迟初始化Bean,极大加快启动速度。
- 效果明显:例如原启动需要55s,开启lazy-initialization后 启动仅需27s
- 适用于开发环境,不建议生产环境。
- 注意:开启后
flyway
自动升级失效。 - 配置方法如下:
spring:
main:
# 启动加速 (建议开发环境,开启后flyway自动升级失效)
lazy-initialization: true -
排查启动瓶颈
- 使用
--debug
参数或Spring Boot Actuator
分析启动耗时,定位慢点。 - 可通过
spring-boot-startup-actuator
等工具分析Bean加载耗时。
- 使用
-
合理配置虚拟机参数
- 增加JVM堆内存、调整GC策略等,提升启动性能。
- 示例:
-Xms512m -Xmx2048m -XX:+UseG1GC
通过以上方法组合优化,JeecgBoot后台启动速度可大幅提升。建议优先升级JDK、移除无用依赖、禁用无用日志输出、开启延迟初始化,并结合实际项目情况逐步排查优化。