当JMeter测试计划中存在多个线程组,您需要了解如何结合JMeter和PTS配置参数,使多个线程组并行或串行压测。
前提条件
创建JMeter压测场景。具体操作,请参见创建JMeter场景。
背景信息
JMeter线程组包括setUp线程组、tearDown线程组和主线程组。在PTS中的施压配置不会影响setUp和tearDown线程组,只影响主线程组。
在PTS中配置的并发数、循环次数会覆盖主线程组在JMeter脚本的配置。
设置多线程组并行或串行
如果JMeter脚本中包含多个主线程组(Thread Group),您可以参照以下说明设置多线程组的并行和串行关系。
PTS施压配置中的循环次数会覆盖所有的线程组,而压测时长如果到达,整个压测都会停止。
多线程组并行
多个线程组并行时,在本地JMeter脚本中,请不要勾选测试计划(Test Plan)属性中的Run Thread Groups consecutively (i.e one at a time),即独立运行每个线程组(例如在一个组运行结束后启动下一个)。
多个线程组并行时,执行的时间由循环次数和压测时长中先完成的决定。例如,压测时长设置为10分钟,而循环次数设置为5次,假设循环5次只需要5分钟,那么压测在5分钟时就停止了。
多线程组串行
串行的情况会稍微复杂一点,操作如下:
-
在本地调试JMeter脚本时,勾选测试计划(Test Plan)属性中的Run Thread Groups consecutively (i.e. one at a time),即独立运行每个线程组(例如在一个组运行结束后启动下一个) 。
-
在PTS上设置循环次数。该循环次数会作用于每个线程组。例如,测试计划中有A、B、C三个线程组,在PTS施压配置中,设置循环次数为5,那么执行顺序是先基于A的并发数循环5次,之后基于B的并发数循环5次,最后是C的并发数循环5次。
-
在PTS上设置的压测时长需要足够长,避免在压测中多线程串行的过程中被中断。预估的压测时长 = 业务请求的RT * 总请求数。您可以在预估的压测时长基础上适当延长。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。