Jmeter-不同线程组使用

1. Thread Group

Jmeter-不同线程组使用_第1张图片

2. setup Thread Group

Jmeter-不同线程组使用_第2张图片
setUp Thread Group是一个特殊的线程组,用于执行测试之前的初始化操作;

3. tearDown Thread Group

Jmeter-不同线程组使用_第3张图片
tearDown Thread Group是一个特殊的线程组,用于执行测试结束之后的清除工作;

4. bzm - Arrivals Thread Group

我们可以通过该线程组达到控制请求数的目的
Jmeter-不同线程组使用_第4张图片

  • target rate:目标费率,每秒钟多少个请求数
  • ramp up time(sec):达到目标费率需要的时间
  • ramp-up steps count:达到目标费率需要多少步
  • hold target rate time(sec):保持目标费率持续时间
  • thread iterations limit:线程迭代次数限制,如果我们只需运行每个用户一次以模拟用户的实际行为,则设置为1;设置为空,表示每个用户将运行不确定的迭代,直到调度结束。
  • log threads status into file:将线程状态记录到日志文件
  • concurrency limit:最大并发数限制
    示例:
    目标费率为100,加速时间为10秒钟,10个加速步骤,保持目标费率60秒钟:
    10个加速步骤,每步增加10个费率;
    10s/10步=1,每步1秒钟;即每1秒钟加载10个费率,直到达到100;
    达到100个费率之后,按照这个标准进行加压60秒钟;
    以上,前十秒钟按照设置不断增加费率,请求数为(10+20+30+40+50+60+70+80+90+100)1=550个;后60秒钟,按照每秒100个费率计算,请求数为10060=6000个;共计6550个请求数。

阶梯加压线程组需要和 Active Threads Over Time(不同时间活动数
量展示)结合起来,这样能看到动态的阶梯加压效果。
Jmeter-不同线程组使用_第5张图片

5. bzm - Concurrency Threadp Group

阶梯式加压
Jmeter-不同线程组使用_第6张图片

  • target concurrency:目标并发数
  • ramp up time(min):加速时间
  • ramp-up steps count:加速步骤计数
  • hold target rate time(min):保持目标费率时间
  • thread iterations limit:线程迭代次数限制,如果我们只需运行每个用户一次以模拟用户的实际行为,则设置为1;设置为空,表示每个用户将运行不确定的迭代,直到调度结束。
  • log threads status into file:将线程状态记录到文件
    示例:
    100个线程组,加速时间为10秒钟,10个加速步骤,保持目标费率60秒钟:
    10个加速步骤,每步10个线程组;
    10秒钟/10步=1,每步1秒钟,即每一秒增加10个线程组,直到到达100个;
    达到100个线程组之后,所有这些线程组将继续运行,压测60秒。

6. bzm - Free_From Arrivals Thread Group(自由抵达线程组)

Jmeter-不同线程组使用_第7张图片

  • Start Value:开始值,开始的负载(点击数)的值。
  • End Value:结束值,结束时的负载 (点击数)的值。
  • Duration:持续时间。
  • Thread Iterations Limit:定义为每个虚拟用户运行的迭代次数。如果我们只需要运行每个用户一次来模拟用户的真实行为,则设置为1;设置为空,表示每个用户将运行不确定的迭代,直到调度结束。
  • Log Threads Status into File:将线程状态记录到日志文件中
  • Concurrency Limit:并发数限制,定义了避免内存不足问题的最大虚拟用户数
    示例:
    1-10的并发持续运行10秒。 20-60的并发持续运行50秒。 10的并发持续运行10秒

7. jp@gc - Stepping Thread Group(被弃用)

8. jp@gc - Ultimate Thread Group

测试稳定性的时候可以使用,例如:某个接口使用度多少线程,执行***分钟

  • Start Threads Count : 开始线程数量。
  • Initila Delay , sec:线程延迟时间。
  • Statrup Time, sec:线程加载时间。
  • Hold Load For , sec:线程持续运行时间。
  • Shutdown Time:线程停止时长,在多长时间内停止下来
    所有线程组同时启动,但每个线程组都有自己的Intial Delay“初始延迟”值,这有助于分别从每个组中分离用户。
    示例一:
    Jmeter-不同线程组使用_第8张图片
    20秒启动三组各100个线程,共300个线程,第一组持续30秒,10秒内停止;
    第二组持续50秒,10秒内停止,在1:20时总线程数为100;
    第三组持续100秒,加启动时间20秒,在02:00时开始停止,10秒内停止;

示例二:模拟波浪式压测场景并发的用户就像浪花一波一波的不断涌入系统,拍打服务器,考验我们的系统能否顶住压力并平稳运行

我们的网站正在平稳运行的时候,突然有一波1000用户同时访问,我们称之为第一浪潮。访问了30s之后,第一浪潮在15s内逐渐退出系统。

在第一浪潮退出系统的同时,第二波2000用户在极短时间内又突然涌入网站,我们称之为第二浪潮。在访问30s之后,第二浪潮在15s内也逐渐退出了系统。

在第二浪潮退出系统的同时,第三波3000用户又突然涌入网站,我们称之为第三浪潮。在访问30s之后,第三浪潮在15s内也逐渐退出了系统。

在第三浪潮退出系统的同时,第四波1000用户又突然涌入网站,我们称之为第四浪潮。在访问30s之后,第四浪潮在15s内也逐渐退出了系统。
Jmeter-不同线程组使用_第9张图片
延迟0s,20秒内启动100个线程,运行60秒,10秒内停止;
延迟60秒后启动第2个100个线程,运行60秒,10秒内停止;
延迟120秒后启动第2个100个线程,运行60秒,10秒内停止;

你可能感兴趣的:(Jmeter,jmeter,性能测试,性能场景,压力测试)