Jmter - Concurrency Thread Group

发布时间 2023-11-26 16:10:54作者: chuangzhou

介绍

特点:

  • Concurrency Thread Group提供了用于配置多个线程计划的简化方法
  • 该线程组目的是为了保持并发水平,意味着如果并发线程不够,则在运行线程中启动额外的线程
  • 和Standard Thread Group 不同,它不会预先创建所有线程,因此不会使用额外的内容
  • 对于Stepping Thread Group 来说,Concurrency Thread Group 是个更好的选择,因为它允许线程优雅地完成其工作
  • Concurrency Thread Group 提供了更好的用户行为模拟,因为它使您可以更轻松地控制测试的时间,并创建替换线程以防线程在过程中完成

参数介绍

  • Target Concurrency:目标并发(线程数)
  • Ramp Up Time:启动时间;若设置1 min,则目标线程在1 min全部启动
  • Ramp-Up Steps Count:阶梯次数;若设置为5,则目标线程在 1min 内分5次阶梯加压(启动线程);每次启动的线程数 = 目标线程数 / 阶梯次数 = 100 / 5 = 20
  • Hold Target Rate Time:持续负载运行时间;若设置1,则启动所有线程后,持续负载运行2min,然后再结束
  • Time Unit: 时间单位(分钟或者秒)
  • Thread Iterations Limit:线程迭代次数限制(循环次数);默认为空,理解成永远,如果运行时间到达Ramp Up Time + Hold Target Rate Time,则停止运行线程【不建议设置该值】
  • Log Thread Status into File:将线程状态记录到文件中(将线程启动和线程停止事件保存为日志文件);

特别注意点:

  • Target Concurrency 只是个期望值,实际不一定可以达到这个并发数,得看上面的配置【电脑性能、网络、CPC等因素都会影响最终并发线程数】

  • Jmeter 会根据Target Concurrency 的值和当前处于活动状态的线程数来判断当前并发线程数是否达到了Target Concurrency;若没有,则会不断启动线程,尽力让并发线程数达到Target Concurrency的值

入门案例:

如上面配置:100个目标用户,分5次加压,每次启动20个线程,达到20个线程后持续运行 1min

监听结果:

Active Thread Over time:

Transacation per Second:

Response Time Over time:

参考:https://blog.csdn.net/u011441473/article/details/124818366?ops_request_misc=&request_id=&biz_id=102&utm_term=concurrency thread group&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduweb~default-0-124818366.nonecase&spm=1018.2226.3001.4450