分析 Spring 应用程序以最小化启动时间
Posted
技术标签:
【中文标题】分析 Spring 应用程序以最小化启动时间【英文标题】:Profiling Spring application to minimize startup-time 【发布时间】:2019-02-20 09:25:44 【问题描述】:我有一个大型 Spring 应用程序没有正确划分为配置文件。我想打破 bean 配置,因此需要很长时间才能加载的无关 bean 被替换为 mocks。
如何对 Spring 应用程序进行分析以找出导致启动缓慢的 bean?内存使用不会反映可能导致延迟的长时间等待阻塞 HTTP 请求。
谢谢, 维托德
【问题讨论】:
【参考方案1】:您可以使用jvisualvm
进行分析
https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/intro.html
这里有一个 VisualVM Startup Profiler Plugin:
https://visualvm.github.io/startupprofiler.html
如果您能够更改代码库,另一种方法可能是使用spring-startup-analysis
。 (这似乎提供了您正在寻找的东西)
https://github.com/lwaddicor/spring-startup-analysis
【讨论】:
以上是关于分析 Spring 应用程序以最小化启动时间的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式重新启动 Spring Boot 应用程序/刷新 Spring 上下文
如何在启动时以编程方式禁用 Spring @JmsListener