JMeter 100用户登录及活动性能测试问题求助
解决方案
1. 准备足量测试账号池
因为目标应用限制单账号最多2个登录实例,100用户的测试至少需要50个独立账号(50×2=100)。用JMeter的CSV Data Set Config组件加载账号列表,配置为每个线程独立读取一行,确保同账号最多被2个线程同时使用(如果账号数刚好50,可设置循环次数让每个账号被2个线程调用)。
2. 控制单账号并发数(账号不足时)
如果账号数量有限,用以下方式控制并发:
- 同步定时器(Synchronizing Timer):给登录请求添加同步定时器,设置“Number of Simultaneous Users to Group By”为2,让同账号的线程凑齐2个后再发起登录,避免超过单账号2实例的限制。
- 线程间通信插件(Inter-Thread Communication):用
Lock和Unlock元素标记账号的占用状态,比如登录前先获取账号锁,登出后释放锁,确保同一时间最多2个线程使用同一账号。
3. 自动处理token失效/被挤下线的情况
在测试流程中加入异常处理逻辑:
- 给每个业务请求添加
Response Assertion,检查响应中是否包含“登录失效”“token无效”等关键词。 - 配合
If Controller,当断言失败时,跳转到登录请求重新获取有效token,然后继续后续流程。
4. 调整线程组配置
- 拆分线程组:创建多个线程组,每个线程组对应1个账号,每个组设置2个线程,避免单线程组内多线程同时争抢同一账号的token。
- 拉长启动时间:设置合理的
Ramp-Up Period,比如100线程设置10秒启动,避免瞬间大量线程用同一账号登录导致被挤下线。
内容的提问来源于stack exchange,提问作者Luke
相关产品推荐
相关产品推荐

