使用 jmeter,我需要有 10000 个用户访问服务器并在 40 秒内做出响应。
在执行期间(在分布式模式下(,只有 600 个用户真正点击(在数据库中检查(。
但在聚合报告中,它显示所有请求都命中服务器。
这背后的问题是什么? 为什么 DB 和 JMet 侦听器之间到达服务器的请求数不一致?
可能您的测试配置有点错误。
JMeter的行为如下:
- JMeter 在线程组配置中指定的启动周期范围内启动所有线程(虚拟用户(
- 每个线程(虚拟用户(开始倒置执行采样器
- 当没有更多的采样器要执行并且没有更多的循环来迭代时,线程将被关闭。
您可以使用一段时间内的活动线程侦听器或 HTML 报告仪表板的同一图表检查实际活动的线程数
因此,您可能会遇到一些采样器已经完成工作而有些尚未开始的情况。基本上,您需要提供足够的循环,以确保所有 10k 线程在所需的测试持续时间内启动并运行。
有关详细信息,请参阅 JMeter 测试结果:为什么实际用户数低于预期指南。