gpt4 book ai didi

java - 升级后Spring Boot启动慢

转载 作者:行者123 更新时间:2023-12-01 12:11:07 31 4
gpt4 key购买 nike

我最近刚刚将我的一个团队 Spring Boot 应用程序从 2.1.3-RELEASE 升级到现在的 2.3.0-RELEASE,并将 Hibernate 版本从 5.3.6.Final 升级到 5.4.15.Final。

一切都很好,但是现在当应用程序在服务器上启动时,它需要 800-900 秒才能启动(大约 15 分钟),而过去只需要大约 30 秒。

需要注意的重要一点是,在 localhost 上运行时,使用 2.1.3 和 2.3.0,应用程序启动是相同的,大约 12-15 秒。

只有部署到服务器时才会遇到启动缓慢的问题。

我确定问题出在新版本的 Spring Boot 上,因为我切换到 SpringBoot 2.1.3 并将 Hibernate 保留为 5.4.15,并且启动速度很快。

那么,在最近的 SpringBoot 版本中是否有一些变化,我必须设置一个属性来禁用某些检查或其他东西?

我看过的大多数文章和帖子都说问题出在 Hibernate 和设置此属性 spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false但我这样做了,但没有效果。

更新:

我尝试了属性 spring.main.lazy-initialization=true但它对启动性能没有影响。

更新 2:

我从 2.3.0 降级到 2.2.7,这导致平均启动时间为 170 秒,而 2.3.0 的平均启动时间为 800 秒。大约 3 分钟的启动时间仍然很糟糕,但是,除了版本之外没有其他变化的 12 分钟差异,我想知道它是否过于雄心勃勃而无法使用最新版本的 Spring Boot。

如果有人对为什么我们将从 2.1.3 的 30 秒开始时间变为 2.2.7 的 3 分钟开始时间有一些建议,仍然非常好奇。

2.1.x 和 2.2.x 之间是否引入了重大更改?

最后更新

我尝试了 2.2.5 版本,结果与 2.1.3 相比没有降低启动性能。如果启动性能有所提高。所以,这让我相信 2.2.6 及更高版本的引擎盖下发生了一些变化。

我将坚持使用 2.2.5,但如果有人尝试使用这些最新版本的 Spring Boot,我仍然希望得到答案。

最佳答案

如果您可以升级到 Spring Boot 2.4.x,则有一个名为/startup 的新 Actuator 端点,它会告诉您每个初始化 bean 花费了多长时间,这应该会告诉您为何如此缓慢:https://medium.com/techwasti/startup-actuator-endpoint-spring-boot-54a8dd0a1fdb

关于java - 升级后Spring Boot启动慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62053705/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com