1

以下两种情况有什么区别,是否会产生类似的性能影响?场景 2 中请求之间的延迟是多少?

场景 2 中的所有线程都会保持活动状态吗?

我知道线程模拟用户和循环计数意味着线程将发出请求的次数。

场景一:如果线程数为 10,ramp-up time 为 10,loop count 为 1。

场景二:如果线程数为 1,ramp-up time 为 1,loop count 为 10。

4

2 回答 2

3

在场景 1 中,使用了 10 个线程,并且加速周期为 10 秒,那么 JMeter 将需要 10 秒才能让所有 10 个线程启动并运行。每个线程将在前一个线程开始后 1 (10/10) 秒开始。

用户手册中的另一个示例:

如果有 30 个线程和 120 秒的加速周期,那么每个连续的线程将延迟 4 秒。

在场景 2 中,JMeter 将运行 1 个线程,在一个线程完成后,将启动下一个线程,如此循环 10 次。

这样的区别。因此,它将对性能产生不同的影响。

查看线程组用户手册和这个JMeter 线程组指南以获取更多信息。

于 2019-01-11T08:25:16.933 回答
1

JMeter 的工作原理是:

  1. 它在 Ramp-Up period 范围内启动线程数
  2. 一旦启动线程开始倒置执行采样器(或根据逻辑控制器
  3. 如果定义了任何循环 - 线程将重新开始
  4. 如果没有要执行的采样器和要迭代的循环 - 线程正在关闭

始终将最终用户的观点应用于您的测试计划,因为良好的负载测试应该(甚至必须)尽可能接近真实用户,否则负载测试没有多大意义。您需要将每个模拟的虚拟用户与真实用户进行 1 对 1 的映射,并构建您的测试计划以考虑这种真实的用户预期行为,包括

单个用户重复同一组操作 10 次的情况极不可能发生,因此我不认为这是一个好的/有效的测试场景。

于 2019-01-11T09:22:27.450 回答