JMeter常用控件二、线程组
标签(空格分隔): Jmeter
##线程组
一. 线程组
一个虚拟的用户组,用于模拟一个或多个用户的操作。 线程组定义将对您的服务器执行特定测试用例的用户池。
-
**名称:**线程组的名称,可以为空,填写时需要需要具备实际意义。
-
**注释:**线程的注释,可以为空,填写时需要具备实际意义。
-
在取样器错误后要执行的动作
-
继续:如果取样器里的执行出现错误失败的时候,请求不会停止,继续执行。
-
启动下一进程循环:忽略错误,线程当前循环错误,执行下一个循环。
-
停止线程:只限当前线程停止,不影响其他线程执行。
-
停止测试:当前执行的线程全部执行完毕后结束。
-
立即停止测试: 立刻停止。
-
线程属性
-
线程数:要模拟用户数量
-
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执行。界面左上会显示延迟时间。
二.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释放全部用户。
间隔加压场景 3个用户组,每个各100用户,每个用户组10s启动全部,持续执行60s,10s释放全部用户。
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:将线程状态记录到文件中
持续并发场景 1000个用户,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
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秒。