如何在JMeter中循环Ultimate Thread Group实现60小时测试?
实现JMeter 3小时场景重复20次的方案
方案1:修改测试计划(Test Plan)的循环次数
这是最直接的实现方式,无需额外组件:
- 打开JMeter的Test Plan根节点
- 在右侧面板找到Loop Count选项,取消"Forever"勾选,输入数字
20 - 确保你的Ultimate Thread Group已配置好单次3小时的测试逻辑(线程启动节奏、运行时长等参数准确)
- 运行测试时,整个测试计划会完整执行20次,每次对应3小时的场景,总时长达到60小时
方案2:用普通线程组嵌套Ultimate Thread Group实现循环
如果Test Plan级别的循环不符合你的需求,可通过嵌套线程组实现:
- 添加一个普通的Thread Group(不要启用调度器,或清空调度器所有参数)
- 在这个普通Thread Group中设置Loop Count为
20 - 将已配置好的Ultimate Thread Group移动到该普通Thread Group内部
- 运行测试时,普通Thread Group会循环20次,每次启动内部的Ultimate Thread Group执行3小时场景
方案3:结合Loop Controller与线程终止控制
如果需要更精细的执行节奏控制,可使用Loop Controller:
- 在Test Plan下添加一个Loop Controller,设置循环次数为
20 - 将你的Ultimate Thread Group移动到Loop Controller内部
- 确保Ultimate Thread Group的配置中,所有线程会在3小时后正常终止(比如通过设置线程的"Duration"或"End Time"参数,保证单次执行后无残留线程)
- 运行时,Loop Controller会依次触发20次Ultimate Thread Group的执行,每次完成后再启动下一轮
注意事项
- 提前验证单次场景的时长准确性(比如先跑10分钟测试,推算是否符合3小时预期)
- 如果场景中有全局变量或状态需要重置,可添加User Defined Variables或BeanShell PreProcessor处理
- 确保JMeter所在服务器的CPU、内存、磁盘IO资源能支撑60小时持续运行,避免中途崩溃
内容的提问来源于stack exchange,提问作者nikol293
相关产品推荐
相关产品推荐

