【发布时间】:2020-08-19 05:21:33
【问题描述】:
我们正在使用 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 results1105 毫秒
SoapUi test results 263 毫秒
【问题讨论】:
-
举例说明你的测试计划,你是在测试网站还是不相关的API调用?
-
@user7294900 感谢您的回复测试不相关的 API 调用。测试很简单: - 1 个线程组,包含 1 个 HTTP 请求采样器。这是一个向 API 发送一个小的 json 有效负载的 post 请求。我在 JMeter 和 SoapUI 上使用 200 个线程运行相同的测试 60 秒,在吞吐量和响应时间方面得到完全不同的结果。
-
*120 秒,而不是 60 秒
-
您是否在 HTTP 请求中的 Body 数据中发送有效负载?
-
是的,一个非常小的 json 有效载荷。具有单值数组的对象。
标签: jmeter soapui performance-testing