JMeter负载测试多循环配置问题:34账户登录后创建10账户失败
JMeter配置错误排查与需求适配方案
问题梳理
手里有34个账户,要求每个账户只登录1次,每个登录用户要创建10个账户,总共得建340个。但现在JMeter配置出问题了,脚本要么直接停,要么抛Error occured compiling the tree: - see log file错误。当前配置如下:
- 线程数:34
- 启动时间(Ramp-up):1
- 线程循环次数:1
- 持续时间(Duration):180
- 循环控制器次数:10
配置错误分析与修正
1. 冲突配置搞崩脚本
你同时开了循环次数:1和持续时间:180,这俩参数是冲突的——设了持续时间,线程会跑到指定时长才停,不管循环次数;设了循环次数,线程跑完指定次数就停,和持续时间没关系。这种矛盾会让JMeter逻辑混乱,直接引发编译错误或者脚本炸停。
2. 贴合需求的正确配置
按你的业务要求,正确配置应该这么调:
- 线程数保持34(对应34个账户,每个线程对应一个)
- 启动时间改成34(让34个线程在34秒内逐个启动,避免瞬间冲太多请求导致登录失败;服务器扛得住的话也可以留1,但建议缓一缓)
- 循环次数设为1(每个线程只走一次登录流程)
- 删掉持续时间设置(不需要一直跑,所有线程走完循环就行)
- 循环控制器保持10(登录后在控制器里执行10次创建账户的请求)
3. 编译错误排查思路
Error occured compiling the tree一般是脚本元素配置错了,按这几步查:
- 检查所有请求的参数引用,比如有没有没定义的变量、函数语法错了(比如
${__xxx}格式对不对) - 去看JMeter日志(默认在
bin/jmeter.log),日志里会写具体哪部分配置出问题了 - 查有没有循环嵌套冲突,比如循环控制器外面是不是还有别的循环逻辑搞乱了执行顺序
额外提醒
- 确保每个线程用独立账户:用CSV数据文件配置元件读34个账户的账号密码,把
共享模式设为当前线程组,保证每个线程拿到唯一账户 - 加个结果树:调试的时候开结果树,看每个请求的执行情况,精准定位哪步失败
内容的提问来源于stack exchange,提问作者She who must not be named
相关产品推荐
相关产品推荐

