SpringBoot 启动慢的解决办法
2024-09-08 01:23:47
项目集成了很多内容,有 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秒
最新文章
- java反射小例子
- http状态消息
- 13个JavaScript图表(JS图表)图形绘制插件【转】
- (一)二维数组&;&;指针数组与数组指针
- 面试题目-c和c++的区别
- Poj 1029 分类: Translation Mode 2014-04-04 10:18 112人阅读 评论(0) 收藏
- HTTP 错误 405.0 - Method Not Allowed
- spring小例子-springMVC+mybits整合的小例子
- 将MVC中的Controllers、Model和View分别放到单独的项目中
- 使用Netsil监控Kubernetes上的微服务
- mvc路由参数注解
- xmlhttp js 请求
- CodeForces 632C The Smallest String Concatenation//用string和sort就好了&;&;string的基础用法
- 一个判断I2C总线通信异常原因的方法
- Angular基础(四) 创建Angular应用
- 包含mysql 递归查询父节点 和子节点
- 【ASP.NET 插件】Plupload多格式多文件上传实现
- springboot p6spy 打印完整sql
- 第164天:js方法调用的四种模式
- ActiveMQ API 详解