JMeter常用控件二、线程组

标签(空格分隔): Jmeter


##线程组

一. 线程组

一个虚拟的用户组,用于模拟一个或多个用户的操作。 线程组定义将对您的服务器执行特定测试用例的用户池。 image_1cr1qr7i518jnrgd128199m26f57.png-106.5kB

  • **名称:**线程组的名称,可以为空,填写时需要需要具备实际意义。

  • **注释:**线程的注释,可以为空,填写时需要具备实际意义。

  • 在取样器错误后要执行的动作

  • 继续:如果取样器里的执行出现错误失败的时候,请求不会停止,继续执行。

  • 启动下一进程循环:忽略错误,线程当前循环错误,执行下一个循环。

  • 停止线程:只限当前线程停止,不影响其他线程执行。

  • 停止测试:当前执行的线程全部执行完毕后结束。

  • 立即停止测试: 立刻停止。

  • 线程属性

  • 线程数:要模拟用户数量

  • Ramp-Up时间(秒):JMeter需要多长时间才能启动所有线程。如果有10个线程,加速时间为100秒,每个线程将在前一个线程启动后10秒开始,总时间为100秒,以使测试完全达到速度。每秒启动线程数 = 线程数/Ramp-Up时间

  • 例如:这个线程数是3,间隔时间是1,每1/3秒就会启动一个线程;

  • 【3】Ramp-Up Period(in-seconds)代表隔多长时间执行,0代表同时并发

  • 循环次数 or永远 :勾选永远,一致循环执行。勾选循环次数,需要在文本框中填写次数
  • 延迟创建线程直到需要:默认不勾选,测试开始的时候,所有线程就被创建完。勾选了此选项,那么线程只会在合适的需要用到的时候创建。
  • 调度器:如果勾选则启用调度器。(可以理解定时器)
    • 持续时间(秒):脚本启动后执行的时间,如果不填线程组将不被执行,如果执行需要的时间>持续时间,执行时间覆盖执行需要的时间
    • 启动延迟(秒):测试计划延迟多久执行。例如16:00启动执行,延迟时间120s,脚本会在16:02执行。界面左上会显示延迟时间。 image_1cr1uh4bp1agfp5i7q5qaq1qa561.png-3.9kB

二.setUp线程组

setup Thread Group是所有我们真正开始线程并发之前的准备工作,必须是在线程组开始之前完成的并且拥有自己独立的线程设置;on_start

三.tearDown线程组

一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。

四.线程组插件

需要下载插件。

Stepping Thread Group(步进线程组)

该线程组已经废弃,被并发线程组代替

Ultimate Thread Group(专业级线程组)

测试稳定性的时候可以使用,例如:某个接口使用度多少线程,执行***分钟
  • Start Threads Count : 开始线程数量。
  • Initila Delay , sec:线程延迟时间。
  • Statrup Time, sec:线程加载时间()。
  • Hold Load For , sec:线程持续运行多长时间。
  • Shutdown Time:线程停止时长,在多长时间内停止下来

持续加压场景 3个组用户,每组各100用户, 10s启动全部用户。从第二个用户组开始,每个用户组迟10秒启动。300个用户持续运行600s后,10s释放全部用户。 image_1cr25mspm17d6s2mem18um1ugto.png-94.3kB

间隔加压场景 3个用户组,每个各100用户,每个用户组10s启动全部,持续执行60s,10s释放全部用户。

image_1cr3v5o4v9bfs2gb5cm6d126dp.png-141.3kB

Concurrency Thread Group(并发线程组)

  • Target conurrency:目标并发。
  • Ramp Up Time :达到目标的并需要的时间。
  • Ramp-Up Steps Count:达到目标并发的目标的步数。
  • Hold Target Rate Time:达到目标并发后持续运行的时间
  • Time Unit:minutes or seconds。
  • Thread iteerations Limit :线程迭代限制?。
  • Log Threads Status into File:将线程状态记录到文件中

持续并发场景 image_1cr413dds1re41l5hkf527a1poj16.png-136.5kB1000个用户,100s加载完成,分5次加载完成,全部加载完成后。持续运行10s后释放全部用户。(每隔20s生成200个用户,运行20s后继续加载200个用户)

Arrivals Thread Group(抵达线程组)

  • Target Rate :需要达到负载用户。
  • Ramp Up Time:达到目标的负载的需要的时间。
  • Ramp-Up Steps Count:达到目标的负载步数(次数)。
  • Hold Target Rate Time:达到目标负载后持续运行的时间。
  • Thread Iterations Limit:定义为每个虚拟用户运行的迭代次数。如果我们只需要运行每个用户一次来模拟用户的真实行为,
  • Log Threads Status into File:将线程状态记录到文件中
  • Concurrency Limit:并发限制,定义了避免内存不足问题的最大虚拟用户数 场景 目标负载100,20s加载加载完成,分2次加载。达到目标负载数持续运行10s image_1cr4erk6v33e14n0ntb1f2rbe1j.png-139.7kB

Free-Form Arrivals Thread Group(自由抵达线程组)

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

场景 1-10的并发持续运行10秒。 20-60的并发持续运行20秒。 10的并发持续运行10秒。 image_1cr75a1j9tfl8821mqf9bk31e9.png-137.6kB

posted @ 2019-06-11 16:32  小鱼儿_summer  阅读(857)  评论(0编辑  收藏  举报