我们正在使用Apache JMeter(最新版本)进行高性能API的负载测试。与SoapUI(免费版)相比,JMeter的响应时间太长。 SoapUI的平均响应时间为200毫秒,而JMeter报告对于同一API的至少1200毫秒的响应时间,这是在同一台计算机上进行的测试。
这会影响每个应用程序中计算出的吞吐量。在SoapUI上,所说的API最多可以达到850 tps,没有错误。在JMeter上,无论如何,我最多可获得190 tps的速度。
测试正在使用200个线程运行120秒。
我已经调整了jvm / jmeter堆的内存,垃圾收集器等,但无济于事。没有什么变化。有人能帮忙吗?谢谢。
编辑:添加了测试设置样本图像
JMeter Thread Group and Test Plan Overall Setup
SoapUI TestSuite and Overall Setup
编辑2:测试结果
Jmeter test results 1105毫秒
SoapUi test results 263毫秒
[我只能想到一个可能的原因:您正在以GUI模式运行JMeter,this is not something you should be doing因为JMeter不能足够快地发送请求,所以JMeter的GUI模式设计用于测试开发和调试。
由于JMeter测试结果丢失,您的图像无法完整说明。生成HTML Reporting Dashboard并查看增加的虚拟用户数量与响应时间/吞吐量之间的相关性也将是有益的。
最后但并非最不重要的一点,JMeter可以在Distributed Mode中执行,并且在SoapUI中它仅适用于LoadUI Pro