【问题标题】:Grails 3 vs 4 performance, starting time and memoryGrails 3 vs 4 性能、启动时间和内存
【发布时间】:2019-05-10 07:37:37
【问题描述】:

Grails 4 的文档提到了由于 micronaut 父上下文 (here) 而在性能和启动时间方面的改进。

有人测量过从 Grails 3 到 Grails 4 的改进吗? Grails 4 在启动时间、性能和内存消耗方面与 Grails 3 相比如何?

【问题讨论】:

  • 我问了一个类似的问题“我应该考虑 Grails 4 而不是 Micronaut 吗?”可悲的是,它被否决了,并最终被删除。我只能指导您而不是回答,我使用过 Grails 2 和 3、Springboot,并且根据我的观察,它们与 Micronaut 不相上下,因此 Grails 4 的性能提升很可能是可观的。跨度>
  • 一个有趣的问题,答案肯定会影响我是否早晚尝试升级。现在发布了,有没有做过性能对比?
  • 仍然没有,但我已经领导框架获得了至少 15 秒的启动时间。
  • 到目前为止,我的经验是,启动一个应用程序需要约 60 秒,现在需要约 30 秒。开发时的热重载已经支持热重启,这有点拖累,好像在引导过程中你有任何相当大的事情发生,这很快就会变得很耗时。尽管有一些解决方法可以直接使用弹簧加载来帮助克服这个问题。运行时(在开发模式下),这个应用程序明显更快,启动时间小于 10 秒的小应用程序在热重启时并不是真正的问题,总结:我很高兴升级并将我的所有应用程序升级到 G4

标签: performance grails grails3 micronaut grails-4


【解决方案1】:

为记录写一个答案。我最近升级了一个相当大的 grails 3 应用程序(约 150 个域类),并注意到启动时间减少了大约 30%,应用程序的内存占用减少了 20-30%。 Grails 4 中的热重启确实很烦人,即使是很小的更改也会浪费大量时间。好怀念grails 3的热插拔,除此之外,还是值得的。

This article 给出了 grails 3.3.9 和 4.0 之间的一些 grails 性能指标比较。

【讨论】:

    【解决方案2】:

    从 3.3.14 升级到 4.0.12 后,我发现 CPU 使用率增加了 20%,并且在生产中请求处理时间。 可以是一些非最优设置。但是通过简单的框架升级,我得到了性能损失 (每天 15 万独立访客,6Gb 内存)。

    同时应用程序使用的内存减少 30%。

    更新

    由于继承类的休眠二级缓存损坏导致的性能问题 https://github.com/grails/grails-data-mapping/issues/1594

    更新 1

    缓存问题修复后,我看到 CPU 使用率有所改善。与 grails 3.3.14 相比,Grails4 使用的 CPU 减少了大约 5-10%

    我认为,建议升级到 grails 4

    【讨论】:

      猜你喜欢
      • 2012-03-11
      • 2020-06-23
      • 2013-11-29
      • 1970-01-01
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 2012-12-15
      相关资源
      最近更新 更多