我们可以通过Thread Group设置:
1.Number of Threads 线程数(也就是:并发用户数)
2.Ramp-Up Period 准备时长 (也就是:加压到目标并发数需要的时间)
3.Loop Count 执行测试的次数
每个Thread Group将执行完整的Test Plan,完全独立于其他Thread Group。多个Thread Group用于模拟并发(我的理解是多个Thread Group可以模拟不同用户不同操作场景的并发,譬如一批用户在买票,一批用户在退票)。
Ramp-Up Period告诉JMeter花多长时间加压到目标线程数。如果设定目标为10个线程,然后Ramp-Up Period是100秒,JMeter需要100秒让所有10个线程启动并运行。每个线程将在前一个线程开始后10秒(100/10)启动。如果目标是30个线程,Ramp-Up Period是120秒,那么,每个线程将会依次延后4秒启动。
【Ramp-Up Period的设置需要足够长,以免在测试开始时产生太大的工作负荷,同时也要足够短,以保证第一个线程结束之前就开始最后一个线程】(除非你不希望这样)
【设置Ramp-Up Period的方法是,从一开始,先让Ramp-Up Period=目标线程数,再根据实际情况向上或向下调整】
默认情况下,线程组的Loop Count配置为循环1次
Thread Group还提供了一个scheduler。在Thread Group面板底部,勾选scheduler的复选框之后,可以输入Duration(持续时间)和Startup delay(启动延迟)。Duration用来控制每个Thread Group的持续时间,Startup delay用来控制Thread Group多少秒后开始。当测试开始,JMeter将等待Startup Delay (seconds)设置的时间之后才启动Thread Group,并持续运行Duration (seconds)设置的时间(也就是:加压到目标并发用户数之后,继续运行多长时间)。