项目集成了很多内容,有 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秒

SpringBoot 启动慢的解决办法的更多相关文章

  1. 在Windows2008下安装SQL Server 2005无法启动服务的解决办法

    在Windows2012下安装SQL Server 2005无法启动服务的解决办法 1.正常安装任一版本的SQL Server 2005. 2.安装到SqlServer服务的时候提示启动服务失败  此 ...

  2. 修改计算机名或IP后Oracle10g无法启动服务的解决办法

    修改计算机名或IP后Oracle10g无法启动服务的解决办法 遇到的问题,问题产生原因不详.症状为,windows服务中有一项oracle服务启动不了,报出如下错误. Windows 不能在 本地计算 ...

  3. Hadoop2.7.x中所有的DataNode都启动不了解决办法

    参考:Hadoop集群所有的DataNode都启动不了解决办法说明现象:我自己出现这个问题的原因是:自己在namenode格式化之后创建了一些文件,然后重新执行了namenode格式化导致的. 现象就 ...

  4. ELK 学习笔记之 elasticsearch启动时Warning解决办法

    elasticsearch启动时Warning解决办法: 转载:http://www.dajiangtai.com/community/18136.do?origin=csdn-geek&dt ...

  5. myeclipse 启动卡住的解决办法

    myeclipse 启动卡住的解决办法 今天启动myeclipse突然卡住,CPU一直占用,启动任务管理器强制关闭.重启myeclipse,重启电脑都不能够解决. 上网查找,在工程路径(工作空间的路径 ...

  6. tomcat启动失败的解决办法

    初次安装tomcat启动失败的解决办法: 1.CATALINA_HOME    C:\Program Files\apache-tomcat-8.5.242.path  %CATALINA_HOME% ...

  7. Mac MySQL启动不了解决办法(MySQL卸载重新安装教程)

    一段时间没用MySQL,今天使用时突然发现启动不了了,怎么点start都没用,或者输入密码了  还是没用... 好急...找了一圈资料,没发现特别好的解决办法,只能使用大招了----->< ...

  8. Android模拟器启动不了解决办法

    问题描述:Windows2008中的MyEclipse项目在Windows2003中运行时无法启动模拟器. 解决要点:启动模拟器管理工具,在启动中设置属性中不勾选默认尺寸显示. 系统错误如下: [20 ...

  9. NetBeans启动Tomcat报“'127.0.0.1' 不是内部或外部命令”启动失败的解决办法

    http://blog.sina.com.cn/s/blog_709548200102vgy4.html ——————————————————————————————————————————————— ...

随机推荐

  1. 【EXPDP】导出全部表的时候,选择不导出某个表

    导出的时候指定某一张表不导出的话,一般都用的是数据泵的expdp来操作 具体方法是: expdp test/test dumpfile=test.dmp directory=test_dir excl ...

  2. 【RAC】安装rac的时候。报错checking for oracle home incompatibilities failed

    背景:由于oracle安装的时候中途出现了问题,解决过后,发现报错了 图形化安装的时候,有这个问题出现 解决办法: 删除安装过的所有缓存,和文件即可 1.删除ORACLE_BASE下的所有文件 2.删 ...

  3. iptables自动屏蔽访问网站最频繁的IP

    iptables自动屏蔽访问网站频繁的IP 屏蔽每分钟访问超过200的IP 方法1:根据访问日志(Nginx为例 #!/bin/bash DATE=$(date +%d/%b/%Y:%H:%M) AB ...

  4. Pandas的数据分组-aggregate聚合

    在对数据进行分组之后,可以对分组后的数据进行聚合处理统计. agg函数,agg的形参是一个函数会对分组后每列都应用这个函数. import pandas as pd import numpy as n ...

  5. oracle常用hint添加

    1.视图添加索引 /* Formatted on 2020/1/6 下午 04:46:37 (QP5 v5.163.1008.3004) */ SELECT /*+index(VIEW_NAME.TA ...

  6. 1.8V升3V芯片,1.8V升3.3V升压芯片方案

    两节干电池由于耗电量电压会降低,无法长期稳定的输出3V或者3.3V供电,直接两节干电池会供电电压不稳,影响后面电路稳定.两节干电池的供电电压在1.8V-3.2V左右 1.8V升3V升压芯片方案, 如P ...

  7. response返回特性

    1. response 返回特性 r=requests.get("http://www.baidu.com")print(r.text) #打印返回正文print(r.status ...

  8. JavaScript——深入了解this

    前言 我曾以为func()其实就是window.func() function func(){ console.log('this : ' + this); } func();//this : [ob ...

  9. Apache环境下强制http跳转至https的配置总结

    一. 简单实例介绍一般来说,apache配置好http和https后,如果想要做http强转到https,需要设置url重定向规则,大致需要下面几个步骤即可完成配置: 1)在httpd.conf文件里 ...

  10. 对话 CTO〡用声音在一起,听荔枝 CTO 丁宁聊 UGC 声音互动平台的技术世界 原创 王颖奇 极客公园 2018-12-01

    https://mp.weixin.qq.com/s/jfHFXZpzbAEbHKkCMSev6w 对话 CTO〡用声音在一起,听荔枝 CTO 丁宁聊 UGC 声音互动平台的技术世界 原创 王颖奇 极 ...