以下两种情况有什么区别,是否会产生类似的性能影响?场景 2 中请求之间的延迟是多少?
场景 2 中的所有线程都会保持活动状态吗?
我知道线程模拟用户和循环计数意味着线程将发出请求的次数。
场景一:如果线程数为 10,ramp-up time 为 10,loop count 为 1。
场景二:如果线程数为 1,ramp-up time 为 1,loop count 为 10。
以下两种情况有什么区别,是否会产生类似的性能影响?场景 2 中请求之间的延迟是多少?
场景 2 中的所有线程都会保持活动状态吗?
我知道线程模拟用户和循环计数意味着线程将发出请求的次数。
场景一:如果线程数为 10,ramp-up time 为 10,loop count 为 1。
场景二:如果线程数为 1,ramp-up time 为 1,loop count 为 10。
在场景 1 中,使用了 10 个线程,并且加速周期为 10 秒,那么 JMeter 将需要 10 秒才能让所有 10 个线程启动并运行。每个线程将在前一个线程开始后 1 (10/10) 秒开始。
用户手册中的另一个示例:
如果有 30 个线程和 120 秒的加速周期,那么每个连续的线程将延迟 4 秒。
在场景 2 中,JMeter 将运行 1 个线程,在一个线程完成后,将启动下一个线程,如此循环 10 次。
这样的区别。因此,它将对性能产生不同的影响。
查看线程组用户手册和这个JMeter 线程组指南以获取更多信息。
JMeter 的工作原理是:
始终将最终用户的观点应用于您的测试计划,因为良好的负载测试应该(甚至必须)尽可能接近真实用户,否则负载测试没有多大意义。您需要将每个模拟的虚拟用户与真实用户进行 1 对 1 的映射,并构建您的测试计划以考虑这种真实的用户预期行为,包括
单个用户重复同一组操作 10 次的情况极不可能发生,因此我不认为这是一个好的/有效的测试场景。