Grails与Spring在REST方面的性能比较

8
我使用纯Groovy/Grails创建了一些REST端点。目前,大多数操作都类似于CRUD。我开始使用JMeter比较Grails应用程序与等效的Java/Spring应用程序在我所做的CRUD场景中的性能。因此,我正在将我实现的一部分场景转移到基本的Spring MVC应用程序中。我非常想看到其他人在网络上发布的性能比较。有人能给我推荐一些吗?欢迎提供任何关于测试和分析的其他信息。谢谢!

关于答案的更新:

  • @Lari在下面的回答中引用了一个网站,其中包含了极其全面的测试,比较了Grails 2.XSpring 4.X(请参见README.md),以及其他许多框架。
    • 然而,这些测试将Grails运行在Resin上,而Spring运行在Tomcat上。这对我来说有点奇怪,因为Grails默认使用Tomcat。
    • Resin和Tomcat在性能上有类似之处
  • 该网站有几个部分(顶部的标签),甚至还有子部分(“结果”区域的标签)。我的原始问题是关于REST的Web服务行为。为此,以下是回答我的问题的一级部分:
  • 如果您对HTML渲染感兴趣,请查看幸运饼干示例。
不难想象,Spring更好,但正如@Joshua所指出的,这是一个人为制造的例子,你必须自己判断从结果中推导什么。更不用说Grails使用Resin而Spring使用Tomcat。希望每个服务器(Tomcat/Resin)在最大线程数、Java内存等方面都进行了类似的配置?配置文件可能被埋在源代码中(如果你找到了,请告诉我)。
我还为Spring 4.X vs Grails 2.X设置了虚拟应用程序,Tomcat的配置完全相同(两者都使用独立的Tomcat安装,而不是Grails内置的Tomcat)。在我的测试中,我执行了HTTP GET并返回了一个JSON数组,该数组是使用静态(预实例化的)内存对象(无需DB查询)形成的。我的结果也显示Spring性能更好(很抱歉我找不到我的数据了!)。我使用Spring Boot快速组合了一个Spring应用程序,而Grails已经默认具有脚手架。

1
很遗憾,我无法向您提供任何比较,但我非常关注您将获得的结果。请公布它们。 - Opal
我认为你会发现的主要问题之一是有太多的变量,即使有人比较这两个应用程序,比较结果也只对该特定实现有效。你不能使用这种基准来推断另一个项目的性能。尽管如此,我很高兴看到有人实际测量自己应用程序的性能,而不仅仅是制作一个虚拟应用程序来进行测试。 - Joshua Moore
2个回答

4

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接