JMeter实现单GameID分配9用户、双GameID各分配9用户的方案
JMeter实现GameID按组分配用户的配置方案
核心思路
通过用户编号分组,控制GameID仅在每组首次生成,再将对应组的GameID全局共享给同组所有用户。
1. 配置用户编号与分组标记
- 保留原有生成用户邮箱的Counter元件(命名为
user_counter):设置起始值1、最大值18,勾选每个线程独立递增,引用名称设为user_num,确保18个线程各对应唯一用户编号1-18。 - 用JMeter内置函数直接计算分组:
__jexl3(${user_num} <=9 ? 1 : 2, game_group),将结果存入game_group变量(1-9归为组1,10-18归为组2)。
2. 控制GameID生成逻辑
- 添加If Controller,条件设为
${__jexl3(${user_num} % 9 == 1,)},仅当用户编号为1、10时(每组第一个用户)执行内部的“创建游戏请求”。 - 在“创建游戏请求”后添加提取器(正则/JSON提取器),将返回的GameID保存到临时变量
temp_game_id。 - 添加JSR223元素,将GameID存入全局属性实现同组共享:
props.put("game_id_" + vars.get("game_group"), vars.get("temp_game_id"))
3. 关联GameID到加入游戏请求
- 在“加入游戏请求”的参数中,用
__P(game_id_${game_group},)引用对应组的全局GameID。组1用户自动取game_id_1,组2用户取game_id_2。
4. 线程组最终配置
- 线程组设置为18个线程,循环次数1次,确保每个线程对应一个独立用户,按分组逻辑关联到对应GameID。
内容的提问来源于stack exchange,提问作者Kavita
相关产品推荐
相关产品推荐

