在ubuntu上启动一个Spring启动应用程序但是花费了太多时间

时间:2017-04-16 11:19:59

标签: java ubuntu tomcat spring-boot

当我在Windows10(在IDE中)启动我的Spring Boot应用程序时,我可以在Chrome中键入url并立即获得我想要的内容。

然而,当我在ubuntu服务器上启动它时,它将是10分钟甚至半小时,直到它工作。我认为不需要这样做,并希望削减它。

(但是当我启动它时,我可以看到“18.193秒内启动应用程序(JVM运行于19.086)”)

当然,经过几分钟后,它的效果非常好。

版本是spring boot 1.4.2。

这有什么理由吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

根本原因分析:

组件扫描减慢启动

  1. 减慢了应用程序启动时间。这将产生更大的影响 如果您有大型应用程序,或大量集成 需要启动应用程序才能运行的测试。
  2. 它可能会加载您不想要或不需要的bean。
  3. 自动配置可以加载超出您需要的数量

    @SpringBootApplication注释意味着@EnableAutoConfiguration注释。 启用自动配置。这可以加载您不需要的组件,减慢应用程序启动速度并增加内存和CPU使用率。

    资源链接: Spring Boot Performance

    解决方案程序:

    从命令行启动应用程序时,您可以启用DEBUG日志记录,就像指定--debug一样简单。您还可以在debug=true中指定application.properties

    此外,您可以在application.properties中设置日志记录级别,如下所示:

    logging.level.org.springframework.web: DEBUG
    logging.level.org.hibernate: ERROR
    

    如果检测到您不想要的自动配置模块,则可以将其禁用。可在此处找到相关文档:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#using-boot-disabling-specific-auto-configuration

    资源链接: https://stackoverflow.com/a/35713866/2293534