Spring Boot入门包会影响性能吗?

时间:2018-10-11 16:53:09

标签: spring spring-boot spring-boot-starter

可以gradle入门包来进行春季启动,例如

org.springframework.boot:spring-boot-starter-web
org.springframework.boot:spring-boot-starter-cache
与非入门级特定软件包相比,

引入了任何显着的延迟(api响应时间> 2ms)?通过依赖项减速来显式和特定地对性能进行任何改进吗?

另一个相关的问题,假设一个入门包包括我未在服务中直接或间接使用/实现的包/依赖项,该包是否已加载或对服务性能有影响?

1 个答案:

答案 0 :(得分:0)

  

与非入门级特定软件包相比,会引起任何明显的延迟(api响应时间> 2ms)吗?

通常拉入软件包会在运行时引入任意内容,并任意更改响应时间。对于入门级软件包和非入门级软件包都是如此。入门包通常旨在将内容“连接”到您的应用程序上下文中,以便更有可能。话虽如此,根据我的经验,Spring Boot设计为可立即投入生产,因此发布的Spring提供的入门包(与SNAPSHOT构建或来自某些随机github存储库的东西相对)是可靠的。

  

通过依赖项减速来明确和特定地改善性能是否会得到任何显着改善?

也许,但是我认为这不太可能。我强烈认为承担开发人员的复杂性来解决性能不是最有效的方法,购买更多/更大的硬件要便宜得多。有很多分析可以对此进行支持(谷歌的“过早优化”)。

  

另一个相关的问题,假设一个入门包包括我未在服务中直接或间接使用/实现的包/依赖项,该包是否已加载或对服务性能有影响?

Java中的类加载是一个有点涉及的话题。这是一篇不错的文章。 https://zeroturnaround.com/rebellabs/rebel-labs-tutorial-do-you-really-get-classloaders/2/