jmeter-线程组
线程组的配置主要分三部分:基本信息,线程组特性,时间配置
基本信息
Name:给线程组起一个跟项目相关的名字
Comment:添加一些有用的备注(可选填)
Action to be taken after a Sampler error:发生错误后的运行方式
- continue:继续向下执行(最长用的选择)
- start next thread loop:中止当前循环,进入下一个循环
- stop thread:停止当前线程
- stop test:停止执行测试
- stop test now:出现错误立刻中止测试
线程组特性
- Number of Threads(users):
线程数,即模拟的用户个数 - Ramp-up Period(in second):
设置在多少秒内完成所有线程的创建 -
Loop Count【】forever:
可以填任意正正整数,代表每个线程循环的次数注1:不建议填0,0意味着会在测试执行时就完成所有线程的创建并立即发送请求,这种情况会导致系统出现一个非正常的峰值,干扰测试结果
注2:如果选择forever,除非手动结束测试,否则所有的线程都会无止尽的循环下去
【】Delay Thread creation until need:
勾选,代表线程组将在需要的时候才勾选
不勾选,代表线程组在开始就被创建,需要时执行
时间配置 ##
如果勾选Scheduler,必定会有开始时间和结束时间
Duration(seconds):设置为N
从时间start time(X)开始执行N秒后结束,会忽略end time(Y)值Startup delay(seconds):设置为M
手动开始运行后,jmeter自动延时M秒开始执行测试,会忽略start time(X)值Start Time:设置为X
手动开始运行后,jmeter会在时间点X开始执行测试End Time:设置为Y
测试开始后会在时间点Y中止测试
如果不勾选Scheduler,则Duration控制结束时间,Startup delay控制开始时间
附图
如何设置合理的ramp-up period
需要通过经验和理论来设置一个合理的值,起初这个值应该设置成什么呢?
设置总线程数=N
让初始点击率=平均点击率(需要跟产品或者技术商讨得到)
ramp-up-period=总线程数N/平均点击率
-
例如:线程数N=100,平均点击率=50次/秒,
则理想的ramp-up-period=100/50=2,即2s内让线程数达到100