如何在JMeter中模拟新用户与存量用户的混合访问负载场景
JMeter 60%新用户+40%存量用户混合负载模拟实现方案
完全可以实现,以下是两种常用的落地方式:
方案1:双线程组拆分(最易维护)
- 按照总并发数拆分两个独立线程组:第一个线程组线程数占总并发的60%,第二个占40%
- 为60%占比的线程组单独配置HTTP Cookie管理器,勾选
Clear cookies each iteration?,该组所有请求每次迭代都会清空Cookie,完全模拟新用户访问 - 为40%占比的线程组单独配置HTTP Cookie管理器,取消勾选
Clear cookies each iteration?,该组请求迭代时会保留历史Cookie,模拟回访的存量用户
方案2:单线程组+吞吐量控制器(适合复杂混合场景)
如果不想拆分多线程组,可以通过比例控制器+手动清空Cookie实现:
- 全局添加一个HTTP Cookie管理器,默认取消勾选
Clear cookies each iteration? - 在线程组下添加两个吞吐量控制器(Throughput Controller):
- 第一个控制器执行策略选
Percent Executions,比例设为60,控制器下前置添加JSR223预处理程序,写入代码手动清空当前线程的Cookie:sampler.getCookieManager().clear(),该分支下的所有请求每次执行前都会清空Cookie,对应新用户 - 第二个控制器执行策略选
Percent Executions,比例设为40,不需要额外添加Cookie清空逻辑,该分支下的请求会复用历史Cookie,对应存量用户
- 第一个控制器执行策略选
注意事项:如果业务侧的用户登录Cookie有有效期限制,需要在存量用户请求分支中补充Cookie有效性校验逻辑,避免失效Cookie引发的请求异常干扰测试结果。
内容的提问来源于stack exchange,提问作者Kumar
相关产品推荐
相关产品推荐

