jmeter-事务控制器与并发控制器与if控制器项目实践
创始人
2024-03-19 20:42:39
0

前言

在做性能压测的时候,除了做单接口这种基准压测,我们还需要多接口串联的混合场景,比如打开小程序展示的首页,购物下单时的结算页。如果这些接口都是串行的,那就非常简单了,仅仅只需要创建事务控制器,将所有的接口放进去就行了。但是,事实上,这些接口并不都是串行的,有些是并行的,众所周知,jmeter的每个线程组请求是从上而下的,只有上一个请求成功了才会进行到下一个请求,并不能做到并行处理,所以,针对这个场景,该怎么解决?
在这里插入图片描述

解决方案

使用并发控制器与if控制器解决,并行控制器可以让线程组下的请求同时发出,if控制器可以作为逻辑判断,判断上一个步骤是否成功,如果出错则不请求。

1、并发控制器
1.1 安装

Options>Plugins Managers>搜索 Parallel Controller勾选进行安装,如下所示:

在这里插入图片描述

1.2 添加

添加并发控制器
在这里插入图片描述
勾选Generate parent sample,这样生成的报告才能看到该事务

1.3 验证

怎么验证线程是不是同时并发的呢,使用表格查看结果
在这里插入图片描述
分别创建两个并发控制器,一个加两个请求,另一个加四个请求,结果如下,可以看到两个控制器下的线程请求的时间几乎都一致的。

在这里插入图片描述
注意:并发控制器下不能设置事务控制器,也不能再次设置并发控制器,否则会报错
但事务控制器下可以设置并发控制器

2、if控制器
2.1 添加使用

在这里插入图片描述
使用以下参数来判断上一个控制器或者线程是否通过,通过则执行,不通过则不执行。

${JMeterThread.last_sample_ok}

2.2 验证

记得勾选Generate parent sample
如果不用if控制器,结果如下:即使第一个控制器里的某个请求错误,第二个也还是会请求

在这里插入图片描述
查看并行控制器的最大时间:load time

在这里插入图片描述

加了if控制器,则不会请求第二个控制器了
在这里插入图片描述

实践

场景描述

进入小程序后,首页加载分为三个步骤,第一个步骤是查询用户,共有一个接口。第二个步骤是查询店铺与经销商,共有两个接口,第三个步骤查询商品,共有四个接口,每个步骤都是上下关系。

脚本编写

模型:

事务控制器:if控制器:并发控制器:

在这里插入图片描述

请求参数计算:

业务要求tps100,我们统计出单个事务请求时间为400ms,则jmeter的需要线程数为100/(1000/400)=40线程,(这个只是模糊计算数据),所以,为了更好地观看数据,我们可以设置大于一至两倍的线程数。

此处我们使用阶梯式压测:

总共50个线程,每个步骤新增10个线程,执行15s。

注意,并发控制器需要勾选Generate parent sample,要不然事务控制器统计的是不是并发控制器最大时间

在这里插入图片描述

请求结果分析

tps走势
在这里插入图片描述
线程数走势
在这里插入图片描述
从上面的走势可以看出,42s左右的时候,线程数还是递增的,不过,tps却没有很高的递增,说明,tps已经出现了瓶颈,根据tps走势大概可以看出tps是在65徘徊,不超过80tps

聚合报告:
tps是平均值,一般我不以这个为准。报告也显示了,出错率0.01%。刚好符合999原则。
在这里插入图片描述

最终结果是:该首页页面事务支持的tps在65左右,最高不超过80tps。

疑问

线程数是否还需要加,继续加压只会让响应时间加长,报错率更高,完全没有意义了。

相关内容

热门资讯

信息发展(300469)披露修... 截至2025年12月26日收盘,信息发展(300469)报收于64.27元,较前一交易日下跌0.2%...
闻泰科技:采取法律手段积极维护... 12月26日,闻泰科技召开2025年第五次临时股东会。闻泰科技表示,当前,公司管理层的首要任务与核心...
霸王茶姬因“咖啡因”上热搜,针... 红星资本局12月26日消息,今日,话题词“霸王茶姬 咖啡因”登上热搜,引发广泛讨论,有不少网友表示喝...
利好跨国公司!这项跨境资金管理... 中国人民银行、国家外汇管理局12月26日发布通知,在总结前期部分地区试点经验的基础上,决定在全国范围...
生态环境损害赔偿十大典型案例发... 央广网北京12月26日消息(记者关灵子)12月26日,生态环境部召开12月例行新闻发布会,记者从会上...
东营区司法局:充电蓄能强本领,... 为进一步加强全区专职人民调解队伍建设,提升人民调解工作整体水平,东营区司法局于12月25日成功举办全...
捍卫品牌正当权益,比亚迪起诉自... 比亚迪起诉自媒体“龙哥讲电车”等账号一审胜诉,法院认定他们编造虚假信息、损害比亚迪声誉,判决其停止侵...
民进党当局对所谓“两岸关系条例... 12月26日,台湾《中国时报》报道,陆委会近日推动所谓“两岸人民关系条例”四项修正,包含:公务员赴陆...
住户养百余只猫引发邻里纠纷 北... 12月19日,随着住户曹某将100余只猫全部迁出,一场发生在北京石景山的邻里纠纷得以实质化解。 一住...
新修订的《河南省征兵工作条例》... 日前,省人大常务委员会发布公告,新修订的《河南省征兵工作条例》自2026年1月1日起施行。 据省征兵...