我在 JMeter 5.4.1 中遇到了一个问题,我的线程组没有达到每秒指定的事务。
我在一个并行运行的 JMeter 测试中有两个线程组。每个线程组都进行一个 API 调用。第一个线程组有 300 个线程分配给它,并且有一个恒定的吞吐量计时器,目标吞吐量为每分钟 45,000 个样本,最终为每秒 750 个事务。第二个线程组有 100 个线程分配给它,并且有一个恒定的吞吐量计时器,目标吞吐量为每分钟 9,000 个样本,最终为每秒 150 个事务。
在运行了几次测试之后,两个线程组都没有达到它们的目标吞吐量。第一个线程组每秒处理大约 300 个事务,第二个线程组每秒处理大约 100 个事务。第一个线程组的平均响应时间为 5 ms,第二个线程组的平均响应时间为 8 ms。这让我相信测试时的服务保持良好,但 JMeter 机器却没有。
奇怪的是,在单个 JMeter 实例上并行运行这些线程组会导致每秒事务数减少。我们进行了一个实验,将两个线程组拆分为两个不同的 JMeter 实例,并在同一台机器上同时运行它们。这使我们能够达到正确的交易/秒。这让我相信机器可以跟上,但是当它在一个 JMeter 实例中运行这两个线程时,JMeter 有一些奇怪的地方。关于为什么会这样以及如何解决它的任何线索?