【发布时间】:2018-12-19 03:07:03
【问题描述】:
我正在进行 REST API 性能测试,我必须同时执行大量请求。为此,我使用了 3 个 JMeter 实例(1 个主实例和 2 个从属实例)。
为了给你更多的竞争,我做了一个带有 2 个线程组的 JMeter 脚本,在每个组上我有 150 个线程和一个恒定吞吐量计时器。
这是我用来启动测试的命令行:
./jmeter -n -t ./script.jmx -l ./samples.csv -e -o ./dashboard -R 127.0.0.1,192.168.1.96,192.168.1.175 -Gthroughput=900000 -Gduration=10 -Gvmnb=3 -G ./API.properties
在这个命令行中,throughput 是我针对 3 个服务器的总吞吐量(它的值除以 vmnb,我的第三个变量,然后每个服务器都执行这部分吞吐量),duration 是测试的持续时间。
在这种情况下,10 分钟内的恒定吞吐量应为 900K(每台服务器 300K)。加速期为 5 分钟(持续时间/2)
现在我的问题:
如果我理解正确,最后我的结果文件中应该有 900K * 10 分钟 = 9000K 样本(每个 API)。
在我的 JMeter 仪表板上,每个 url 只有 200K 和 160K 样本。即使它只能看到主服务器(我认为),我离预期的结果还很远,不是吗?
dashboard image (I can't upload an image yet...)
我是否遗漏了什么,或者我的虚拟机存在一些性能问题,并且它们无法提供高吞吐量?
在此先感谢大家的帮助,
最好的问候, 马克
【问题讨论】:
标签: jmeter performance-testing stress-testing