JMeter理解提升

时间:2013-06-25 03:11:31

标签: performance testing jmeter

这是我的测试计划线程属性的配置:

Number of Threads (users): 100
Ramp-up Period (in seconds): 10
Loop Count : Forever
Delay thread creation until needed: No
Scheduler: No

我将测试过夜,总持续时间为14小时7分钟(约50820秒)。加载jtl文件后,摘要报告中显示的样本数为1050975.我尝试计算但我无法理解它是如何产生这么多样本的。

如果Ramp-up Period是JMeter创建每次迭代的线程数所花费的时间,并且如果测试的持续时间是50820秒,那么我应该只有508200个样本(50820/10 * 100)。我不知道循环计数是如何或是否影响这一点。

8 个答案:

答案 0 :(得分:58)

Thread Group中的加速是JMeter开始线程总数所需的时间。在您的情况下,这意味着每隔0.1秒,新线程在10秒后开始提供100个正在运行的线程。这100个线程背靠背地执行测试迭代,因此在增加之后,100个线程在测试期间连续运行。

答案 1 :(得分:18)

加速期 - 所有请求启动的时间范围(以秒为单位)。 Number of Threads 输入中指定的所有主题都将在 Ramp-up period 内开始。

例如:

100个线程和100秒加速:每秒JMeter将启动 1个线程,直到所有线程在 100秒时启动>起来了。

100个主题和50秒加速每秒启动 2个主题

100个主题和200秒加速: 2秒 1个主题启动。

现在,

示例或请求生成与线程生成的概念不同。在这种情况下,100个线程在10秒内启动。这里的关键因素是Throughput。 根据JMeter词汇表:

  

吞吐量计算为请求/时间单位。现在的时间是   从第一个样本的开始到最后一个样本的结束计算   样品。这包括样本之间的任何间隔,正如它所假设的那样   表示服务器上的负载。

     

公式为:吞吐量=   (请求数量)/(总时间)。

此处执行的样本或请求数为 1050975 ,测试持续时间为 50820 秒。因此,这与吞吐量有关。 1050975 中的输出 50820s 请求表示整个测试中的平均吞吐量近似 20.5/s

要控制ThroughputTransactions per second,可以使用名为Constant Throughput Timer的非常方便的JMeter插件。

  

恒定吞吐量计时器引入变量暂停,计算到   保持总吞吐量(以每分钟样本数计)尽可能接近   可能给定的数字。当然,如果吞吐量会降低   服务器无法处理它,或者其他计时器或   耗时的测试元素阻止它。

答案 2 :(得分:12)

提升期告诉JMeter需要多长时间才能“提升”到完整的线程数。

@Little Chicken 理解1是正确的。

如果使用10个线程,并且加速时间为10秒,则JMeter将花费10秒钟来启动并运行所有10个线程。

每个线程将在上一个线程开始后1秒开始。

答案 3 :(得分:3)

加速期告诉JMeter需要多长时间才能“加速”到所选的全部线程数。如果使用10个线程,并且加速时间为100秒,则JMeter将花费100秒来使所有10个线程启动并运行。每个线程将在上一个线程开始后10(100/10)秒开始。如果有30个线程且120秒的上升周期,则每个后续线程将延迟4秒。

答案 4 :(得分:1)

理解1:是正确的 加速期告诉JMeter需要多长时间才能“加速”到所选的全部线程数。如果10 使用线程,并且加速时间为100秒,然后JMeter将花费100秒来获得全部10个 线程正在运行。每个线程将在上一个线程开始后10(100/10)秒开始。如果有 是30个线程,120秒的斜升时间,然后每个连续的线程将延迟4秒

答案 5 :(得分:0)

加速期间:用户将被绑定以开始交易的比率。

在jMeter中,如果您的加速时间为20,则有10个用户,则1个用户将每2秒开始执行该计划。

答案 6 :(得分:0)

此属性告诉JMeter在启动每个用户之间延迟多长时间。

例如,如果您输入5秒的加速期,JMeter将会  在5秒结束时完成所有用户的启动。因此,如果  我们有5个用户和5秒的Ramp-Up Period,然后延迟  起始用户将是1秒(5个用户/ 5秒=每个用户1个)  第二)。如果将值设置为0,则JMeter将立即启动  所有用户。

答案 7 :(得分:0)

例如

  1. 1000个目标线程和1000秒的加速时间:JMeter将添加一个 用户每秒
  2. 1000个目标线程,加速时间为100秒:JMeter将增加10个 用户每秒
  3. 1000个目标线程,启动时间增加50秒:JMeter将增加20个 用户每秒