Jmeter vs Gatling进行2020年性能测试

时间:2020-05-05 09:29:01

标签: java scala jmeter gatling

我正在尝试将Gatling与Jmeter进行性能测试。

我的要求是:

  1. 我想要与CI / CD和自动化兼容。
  2. 性能应该不错(我知道加特林在资源占用方面表现更好)。
  3. 动态->即能够运行测试,更改环境中的某些设置,然后再次运行测试。
  4. 在云上使用(我感觉是因为加特林对性能更好,对云也更好...但是我不知道这里是否真的有很大区别)。
  5. 我正在测试 Monolith 系统,因此我将无法同时拆分系统(作为微服务),并且使用模拟程序(mockito)会更加困难以便能够获得更精确的性能,例如对端点的请求,不包括数据库时间等。因此,我认为我将要进行的这种性能测试更多是压力测试和测试系统的总体性能,而不是获取系统隔离部分的测量值。

任何帮助都会很棒。我问是因为很多信息似乎已经过时了。

编辑:我不担心Gatling在Scala中编程并在gatling dsl中使用。我更害怕我看不到的限制和陷阱!

2 个答案:

答案 0 :(得分:2)

免责声明:此处是加特林创作者

恕我直言,第一个标准实际上应该是:您觉得最适合哪种工具?

Gatling是面向代码的,可以与IntelliJ或vscode等IDE很好地集成。 JMeter是面向GUI的。

如果您了解编程知识,则可能更喜欢加特林,以便您可以使用常规的开发环境和实践(重构,同行评审等)。您无需成为开发专家,您将主要使用Gatling的DSL(请务必阅读official documentation并阅读教程)。

相反,如果您不能编写代码(并且不想学习方法,参数,IDE等基础知识),则不应该使用Gatling,而应该使用JMeter。

注意:如果您正在寻找用于加特林的基于云的平台,我们将提供Gatling FrontLine

答案 1 :(得分:0)

这两种工具都可以满足您的所有要求,因此这完全取决于个人喜好/经验。

  1. 加特林支持的现成协议(限于HTTPJMSMQTT)少于JMeter,但是可以扩展两者并增加对您选择的协议
  2. 您需要执行some extra manual work in order to set up Gatling distributed testing,而JMeter会在Distributed Mode中自动汇总从站的数据
  3. Gatling假设在Scala中编写测试,而加特林则更加CI友好,而创建JMeter测试的受支持方式是使用GUI且JMeter test plan是XML文件,并且添加单个测试元素将导致超过10行XML代码这不是很可读。