【发布时间】:2018-10-04 10:39:17
【问题描述】:
我最近将一个相当大的应用程序从 Spring Boot 1 迁移到 Spring Boot 2。一切都构建得很好,但我很快意识到,构建时间是之前版本的两倍(从 ~10 到 15 分钟到约 25-35 分钟)。
在测试期间,应用程序上下文使用注释 @DirtiesContext 重新启动大约 15 次。我对这种用法并不满意,但目前无法以不同的方式解决。我可以肯定地说,在 Spring Boot 2 中启动应用程序上下文所需的时间比在 Spring Boot 1 中要长。
有没有人有类似的问题?我应该如何开始分析这个?任何想法可能是什么原因?它是否基于区分两个 Spring Boot 版本的默认行为?
【问题讨论】:
-
弄清楚什么需要更长的时间......我们遇到了内存问题,导致激进的 GC 行为大大减慢了速度。
-
根据我们(Spring Boot 团队的经验),Spring Boot 本身在版本 2 中的启动速度应该比在版本 1 中更快。您使用的依赖项可能并非如此更改的版本。我同意 Marco 和 Marten 的观点,即您需要确定什么需要更长时间。分析器是一个很好的方法。
标签: java spring performance spring-boot migration