首页>>后端>>SpringBoot->springboot静态资源加载慢(springboot静态资源缓存配置)

springboot静态资源加载慢(springboot静态资源缓存配置)

时间:2023-12-02 本站 点击:0

intellij+idea启动springboot慢?

IntelliJ IDEA + Spring Boot应用程序启动较慢的原因可能有很多。以下是一些常见的原因和解决方案:

资源不足: 确保您的笔记本电脑具有足够的内存和处理器能力来运行IntelliJ IDEA和Spring Boot应用程序。

索引: 当IntelliJ IDEA第一次启动时,它会为项目建立索引。这可能需要几分钟时间。

项目配置: 检查您的项目配置是否有任何问题,例如错误的JAVA_HOME路径或错误的插件配置。

依赖项: 检查您的项目是否有任何不必要的依赖项,并在需要时删除它们。

启动慢的调试: 如果您在debug模式下启动应用程序,它可能会变得更慢。可以将debug模式关闭或禁用不必要的debug设置。

关闭不必要插件: 检查是否有不必要的插件并关闭它们,这可能会加快启动速度。

spring-boot 项目启动过慢问题

问题表现

最近手上一个基于 spring-boot 开发的系统在阿里云的 ECS 上(ubuntu 14.04)启动过程中碰到启动时间过长问题,表现如下,启动日志长时间处于一下状态:

即系统会卡在:

这句日志上长达十分钟以上。

分析流程如下

解决方案

根据上述文章,可以修改系统属性将Spring Boot的嵌入式Tomcat实例配置为使用 /dev/urandom 来生成随机来解决这个问题。具体操作如下,在 .bashrc 中添加如下的环境变量。

执行 source .bashrc 即可。

重新启动系统,上述问题解决

参考文章 :

Centos 启动Spring boot项目慢的原因

在客户那部署 Springboot项目,启动非常慢要2-3分钟. 因为开发的时候本地windows启只要7s,测试环境也是centos只要7s.

因为客户那是虚拟化了3台机器, 安装同样的操作系统,但其中1台很快7s,其他两台很慢.这就非常奇怪了.

网上大部份都说random的原因, 我们全都照着改了依然很慢.

通过strace确切知道改成功了,没改之前全是random,改了之后有urandom.

但是可以发现还是会调random, 而且机器的随机数值一直在3000左右,所以可以排除random原因.

奇怪的是系统也没有报错,就是启动慢,启动成功后接口页面都没有问题.关键是有1台机器又很快,所以让我们只能考虑是机器原因或虚拟化的原因.然后我们复制了一台那个没有问题的机器, 在这一台上重新部署,结果依然是很慢.查看cpu 内存 io 都没有什么问题.

通过starce也只能看出是 futex 花费了大量时间,下图上11254这个进程id,这个futex花费了1.89s,然后往上找到11254的源头也看不出什么原因导致.

然后怀疑应该不是我们项目问题,我拿一个最简单的springboot项目测试也是很慢.

然后把springboot日志级别调成debug, 刚开始查问题的时候就已经试过了调日志,因为发现出现Spring那个logo之前很慢而且也没有日志, 然后后面的日志又太长,以为找不出什么有用的信息,试过一次后就又调成info级别了.

我们启动慢的情况是这样的,启动后, 等几十秒出现Spring logo, 然后跑了一会儿,又等几十秒,然后系统启动成功.

所以这一次想到,虽然启动前没有日志,但是中间的慢,应该可以知道它停在哪里.然后google那个停在那里的日志.

点进去后有一句话看的我心头一愣 , 这个用户说,似乎这20s的等待是由于NetworkInterface.getAll

方法

那么也就是说根本原因就是 InetAddress.getLocalHost 导致很慢的原因了.

然后用那个最简单的Springboot项目调用一下这个方法,果然不出所料花了20s的时间.

找到根本原因随便一搜就知道,是因为在/etc/hosts 里并没有加入当前主机的名字,.

在正式环境下加入了主机名后果然快了.

那为什么有一台很快了,因为那一台是另一个同事装了mq,他修改了这个hosts文件加了主机名.

然后复制这台机器的时候会填一个新主机名,所以复制的那一台机器也很慢.

最终解决掉了这个奇怪的问题,通过这一次经历,也学会了使用strace,jstack等调试工具,也有不少的收获.

spring boot 做的网站访问隔几秒会慢一次,想不出来是什么问题

让电脑变卡、变慢的原因有很多:

1、电脑内存不够,一直不清理电脑的缓存,就会让垃圾文件越来越多,这样就会导致电脑很卡,解决的办法很简单,用腾讯电脑管家进行清理下。

2、网络太慢,如果宽带太小了,就会很慢很卡。升级宽带就好了。

3、电脑中病毒了。电脑一旦中毒了之后就会影响系统的运行速度,让电脑变很卡,所以不定时要用电脑管家对电脑进行杀毒。

4、软件不兼容,卸载掉不兼容的软件。

5、上网慢首先检查自己的宽带,升级宽带可以让网速变更快。足够大的宽带网速慢就可以检查有没有被蹭网。

springboot怎么解决文件上传慢

1、首先在运行中输入gpedit.msc,点击回车后即可打开“组策略对象编辑器”。

2、其次进入组策略对象编辑器界面之后,点击“计算机配置”,然后点击“管理模板”接着继续点击“网络”,再点击“QoS数据包计划程序”。

3、然后进入QoS数据包计划程序见界面之后,点击“限制可保留带宽”,并将其设置为“已启”。

4、最后在展开的界面中选择“带宽限制(%)”栏,并将带宽值“20”设置为“0”,这样就可以解决上传速度慢的情况了。

Spring Boot启动速度慢的原因总结

现在spring boot的架构可以说是非常流行,不会你都不好意思说你是做java的。可是它火归火,也有一些小问题需要咱们去注意。

如果是单体项目,并且在启动速度方面没有任何要求,那么请忽略。

下面进入主题,在什么情况下spring boot的项目启动会变慢呢

启动项目的机器硬件配置不能拖后腿,否则你说项目启动慢,项目还觉得机器不行呢…

比如网络,内存大小,CPU核心数等,不要求太高,至少也要够用吧

抛开各种人为因素,例如各种连接时间较长,其他组件启动较慢导致等待…

项目中使用的无用配置太多 。例如在一个最简单的web中,你还加入了其他各种maven配置,并且将他们配置到项目中(只是比较夸张的例子,这些配置加入都不用),然后项目本身也不懂,既然你配置了,那就加载呗。一个花0.1秒,10个就1秒,100个就10秒了…以此类推,这一点就是最容易想明白的地方了。

spring boot的自动配置 。自动配置是spring boot的一个特色,但是也是它启动慢的一个弊病。没办法,通常好用功能全的东西,总会在一些地方上有缺陷。上面说到无用的配置多,这里要说的就是spring boot它自己装配的东西太多。你可以看到在spring boot的相关jar包里,都存放着spring.factories的文件,进去一看,大部分都是写了很多的类,它是实现spring boot自动装配的核心之一。但是你仔细观察会发现,其实有很多类,你可能完全不用。但有什么办法呢,不管你用不用,至少它都会给你检查一遍,这不也是花时间的地方吗?

项目精简程度不够 。现在比较流行微服务的概念,我认为它的概念核心含义即为精简,单一,并且多数需要强调启动速度的地方也多是出自微服务的项目中。一个微服务项目中,最好是在10秒以内能够启动完毕。但是多数是做不到的,原因在于项目拆分的还不够细。你说一个接口启动快,还是10个快,或是更多,答案很明显。很多项目做到了大而全,所谓大而全就是功能很多,配置很齐全,各种可以扩展配置等,全面的不行不行的,但这意味着什么,你的配置多,有用没用先不管,至少需要编译和加载的类文件都会多出很多来,你说要这样的项目能启动快,怎么能启动快呢?

此次分享就到这里,欢迎大家的讨论。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/9902.html