JMeter逻辑控制器之事务控制器(Transaction Controller)

一、背景

事务响应时间是性能测试中衡量业务性能的主要指标。事务,其实可以理解为完成一个业务所调用所有接口的集合,当然可以是单个接口,也可以是多个相互关联的串联接口。比如,登录操作就是调用一个接口,而购买商品,就需要登录+浏览商品+添加购物车+支付等,多个接口的调用。

所以在进行性能测试时,在用于多接口串联的场景时,需要汇总统计该多个接口串联执行完成时所有的响应时间,也就是一个事务或者场景的响应时间。

事务控制器(Transaction Controller),可以将多接口串联的场景自动的分类显示,更易于分类识别整个场景的响应时间。

二、事务控制器(Transaction Controller)

事务控制器(Transaction Controller)会生成一个额外的取样器,用于统计测量其作用域内的测试元素(取样器、定时器等)的总体时间,该时间包含事务控制器范围内的所有处理时间,而不仅仅是取样器的处理时间。

属性定义如下:

属性 描述
Name 控制器名称,可以根据实际情况进行设置
Comments 注释,描述在业务中的作用
Generate Parent Sample 选中,事务控制器将作为其他取样器的父级取样器进行展示;不选,事务控制器仅作为独立的取样器进行展示
Include duration of timer and pre-post processors in generated sample 是否在生成的取样器中统计包括计时器、预处理以及后置处理的延迟时间。默认是不勾选

1、不勾选Generate Parent Sample

执行后,可以发现,不勾选Generate Parent Sample所有的取样器(接口、事务控制器)均统计出来

2、勾选Generate Parent Sample

执行后,可以发现,勾选Generate Parent Sample 后,聚合报告会将事务控制器及其下的取样器执行情况均汇总统计,最终仅以事务控制器作为结果进行汇总统计。

3、勾选Include duration of timer and pre-post processors in generated sample

勾选Include duration of timer and pre-post processors in generated sample后,聚合报告展示对比如下:

勾选Include duration of timer and pre-post processors in generated sample后,发现Constant Timer定时器的时间也被统计,刚好多3秒左右。

三、参考

1、https://blog.csdn.net/px551/article/details/115981567

2、https://time.geekbang.org/column/article/183349?screen=full

3、https://zhuanlan.zhihu.com/p/165288835

4、https://www.jianshu.com/p/a14e9eeb9551

posted @   xyztank  阅读(3086)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示