前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JMeter逻辑控制器08

JMeter逻辑控制器08

作者头像
苦叶子
发布2018-04-04 16:24:40
1K0
发布2018-04-04 16:24:40
举报
文章被收录于专栏:开源优测开源优测
前言

在jmeter中逻辑控制器主要分类两类:

  • 控制jmeter测试计划中节点的逻辑执行顺序等等
  • 对jmeter的节点进行分组,方便结果统计等等

进一步简化下,笔者把逻辑控制器分为

  • 逻辑控制类
  • 分组控制类

逻辑控制类

逻辑控制类控制器定义了在执行线程中请求的执行顺序。

下面我们就常用的逻辑控制器进行说明

如果(if)控制器

控制其下面的子节点满足条件才执行,例如,我们控制只有执行线程大于10个时,才执行其子节点。

这里只是简单举例,大家可以根据实际应用场景进行设计。

循环控制器

控制其下面的子节点运行次数。例如我们设置其子节点执行10次。

如果勾选永远选项,则会一直执行下去。

仅一次控制器

控制其子节点在整个测试计划执行期间的每个线程仅执行一次,例如我们可以用于等登录动作。

随机控制器

每次执行时,从其子节点中,随机选择一个进行执行,例如我们百度首页随机请求不同的类型的资讯信息。

其他的逻辑控制器就不一一进行说明了,大家可以自行学习、实践,去挖掘其实用场景。

分组控制类

分组控制类主要用于统计和控制其他非逻辑执行。典型的应用场景,例如我们常需要去统计一个业务流的执行时间,或是控制吞吐量等等。

下面我们一起看几个典型的分组控制类的组件。

事务控制器

会产生一个额外的sampler,用于统计该控制器下子节点的所有时间。该统计数据可以在聚合报告中看到。

Generate parent sample:控制结果的显示结构。若勾选,总时长和子节点时长按层级显示,未勾选,平行显示

Include duration of timer and pre-post processors in generated sampler:勾选时,会统计定时器时间(默认仅统计采样器时间)

如上图:通过事务控制器,我们可以统计出请求百度首页、搜索开源优测、搜索python、搜索selenium4个请求的时间总和,注意这里统一出来的时间会略大于这4个请求的和。

吞吐控制器

允许用户通过以下两种方法控制执行频率。

  • Percent executions 这个控制器的命名不够准确,因为它不是用来控制吞吐量的。吞吐量控制器允许用户控制执行频率,jmeter提供了两种模式:执行百分比和执行总次数。 设置运行比例(1~100之间) 如线程循环次数设置为5,添加Percent executions为40%的吞吐量控制器,其下子节点则循环2次
  • Total executions 设置运行次数 per user:此项被勾选后,在每个线程的基础上,每个用户都将根据控制器设置计算。未被勾选时,计算针对于所有用户。如:使用total execution模式,不勾选per user选 项,执行次数=吞吐量值;勾选了per user,执行次数=user数量(对应线程数) * 吞吐量值

总结

本次就常用的逻辑控制器:如果(if)控制器、循环控制器、仅一次控制器、随机控制器、事务控制器、吞吐控制器进行了分享。对于这些控制器的应用场景,需要深刻理解业务后再设计场景,切不可为了用而用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源优测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 逻辑控制类
    • 如果(if)控制器
      • 循环控制器
        • 仅一次控制器
          • 随机控制器
          • 分组控制类
            • 事务控制器
              • 吞吐控制器
              • 总结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档