0

将 grails 应用程序(使用多个内联插件、> 130 个控制器、> 140 个服务、> 180 个域类、> 600 个 GSP)从 2.5.4 升级到 3.2.8 后:

  • grails run-app更新前:2:10 分钟。
  • grails run-app更新后:5:50 分钟。

大多数时候 grails 3.2.8 run-app 挂在“:boot-run”。特别是在 spring 安全核心初始化后(启动后大约 2 分钟),它会挂起大约 4 分钟。此外,与 grails 2.5.4 相比,CPU 使用率非常低。

该测试在不同的机器上重复进行,并面临相似的结果(Mac、Linux 和 Windows 机器)。

这种行为的原因是什么?

4

1 回答 1

1

这太不可思议了:如果您在第一次运行“grails run-app”之前重新启动 intellij,那么使用 grails 3 的启动时间为 2 分钟。

不要使用 intellij 2017.1.1 中的重启按钮。

更新

  1. IntelliJ 的运行时环境肯定存在一些内存泄漏。
  2. 更新到 Java 8 SDK 大大改善了情况。
  3. 将“bootRun { jvmArgs = [“-Xmx4096m”] }”添加到 build.gradle 是成功的关键。

应用程序现在在 30 秒内启动。我建议升级到 grails 3。

于 2017-04-25T09:00:08.027 回答