一、同一个线程组内可通过jmeter-Critical Section Controller (临界部分控制器)来控制
业务逻辑:
    根据锁名来控制并发,同一个锁名之下,在同一时间点只能存在一个运行中,适用于控制并发的场景。

锁名类型:
    锁名为空,认为每个锁为不同的锁

锁名相同,多个锁认为是同一个锁,同一个时间点只能存在一个运行中

锁名为变量,根据变量值来判断是不是属于同一个锁,变量值为相同时,则认为是同一个锁

作用
临界区控制器确保其子节点下的取样器或控制器将被执行(只有一个线程作为一个锁)确保它的子元素(samplers /控制器等)在执行控制器的子程序之前只执行一个线程作为指定的锁。

步骤
1、添加
线程-添加逻辑控制器-临界部分控制器

2、使用
多线程下才能看到效果

将接口/事务放在临界部分控制器下才会起作用

3、锁名称
每个人都独立了,就不用管是否顺序执行了

对比未添加锁唯一名称的

采用线程数去给锁命名,就不容易出现重复(推荐使用)

二、不同线程组控制请求执行顺序

线程组按顺序来执行,大概思路,

1.需要控制线程组内的操作在满足某一条件才执行,那么就需要使用if或者while;

2.要使用if或者while都需要一个变量,而这个变量要在两个或多个线程组内使用,那么if使用变量就需要是全局变量,while使用的变量就需要是局部变量;

那么第一顺序执行线程组的配件,最少需要有2个BeanShell Sampler和一个If Controller;

第二顺序以及之后顺序的线程组的配件,最少需要2个BeanShell Sampler、一个If Controller和一个While Controller;

第一顺序执行线程组---------------------

首先使用BeanShell Sampler给全局变量赋予初始值${__setProperty(newswitch,1,)};;

然后使用If Controller作为操作的父类,条件为"${__P(newswitch,)}"==“1”;

最后使用BeanShell Sampler(父类线程组)给全局变量赋值${__setProperty(newswitch,2,)};,下一个顺序执行线程组的If Controller条件;

第二或N顺序执行线程组---------------------

1.使用BeanShell Sampler(父类线程组),定义一个局部变量vars.put(“whileswitch”,“1”);

2.使用While Controller作为If Controller的父类,条件为KaTeX parse error: Expected group after '_' at position 2: {_̲_javaScript("{__P(whileswitch,)}"!=“0”)} ;

3.使用If Controller作为操作的父类,条件为"${__P(newswitch,)}"==“2”;(值根据第几个顺序而变化,第二个是2,第三个是3。。。)

4.在If Controller下建立子类BeanShell Sampler给局部变量赋值vars.put(“whileswitch”,“0”);,结束While Controller;给全局变量赋值KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(ne…{__setProperty(newswitch,1,)};。

jmeter控制请求执行顺序相关推荐

  1. JMETER 各组件执行顺序与作用域

    JMETER 各组件执行顺序与作用域 配置元件: 配置元件的作用主要为了初始化默认值和变量,以便后续采样器引用.相对于JAVA 语言中间定义一些常量和静态变量.配置元件作用域是最初始阶段处理,配置元件 ...

  2. 6.2 jmeter基础—元件执行顺序

    4.3.元素的执行顺序 1 配置元件 Configuration elements 2 前置处理器Pre-Processors 3 定时器Timers 4 取样器Sampler 5 后置处理器Post ...

  3. java 控制线程的顺序_【Java多线程系列四】控制线程执行顺序

    packagecom.concurrent.test;importjava.util.concurrent.CountDownLatch;importorg.junit.Assert;importor ...

  4. 接口测试——Jmeter各部件执行顺序

    一.作用域 1,特定元件起作用的范围,也就是对哪些元件起作用 2,几个类别     --1,对父级(上一层)之下的所有元件都起作用,典型的例如:察看结果树,csv数据文件设置,用户  参数,用户定义的 ...

  5. unittest控制case执行顺序

    1.名字改成test_a_xxx, test_b_xxx格式,会分别执行a, b, .... 2.     suite = unittest.TestSuite()     suite.addTest ...

  6. iOS 控制任务执行顺序

    需求: 有两个任务都要放在子线程中执行, 且要保证A执行完再执行B. 如果你也有同样的需求, 可以从下面几种方法中挑选一种 实现方法 1.1. 方法一 使用GCD串行队列. 先创建一个串行队列, 将任 ...

  7. ajax异步请求执行顺序问题

    function test(){$.ajax({url : window.ctx+"/sys/manager/addUserRole",data:formData,type : ' ...

  8. Jmeter组件执行顺序与作用域

    一.Jmeter重要组件: 1)配置元件---Config Element: 用于初始化默认值和变量,以便后续采样器使用.配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同 ...

  9. java 过滤器执行图_「filterchain」java 过滤器Filter中chain.doFilter()之前和之后代码的执行顺序 - seo实验室...

    filterchain 过滤器拦截到请求之后,首先是执行doFilter()方法中chain.doFilter()之前的代码,然后放弃权限给下一个过滤器或者serverlet等等,最后才执行chain ...

最新文章

  1. [微信小程序]滚动选择器
  2. 如何在hadoop中控制map的个数
  3. 利用Python对文件进行批量重命名——以图片文件为例
  4. 【云小课】基础服务第25课 容灾演练:平时多练兵,急时保可用!
  5. MyBatis-${}与#{}
  6. Coinbase发生一笔7500枚BTC巨额转出交易 转移金额近2.5亿美元
  7. [luogu3198] 玩具装箱
  8. jquery滑动效果及事件切换
  9. 7-26 币值转换 (20 分)
  10. 190708每日一句 努力VS天赋;假如生活欺骗了你
  11. 概率论 计算机论文,《概率论与数理统计》毕业论文
  12. 异常信息:Unable to update index for aliyun|http://maven.aliyun.com/nexus/content/groups/public/ 解决方法
  13. 坚定Freyja2的发展方向
  14. 20190828——python模块
  15. censo7安装mysql_centos7 安装MySQL
  16. 统计指标 ---离散趋势指标
  17. 计算机xp上网运行很慢,如何解决WinXP打开我的电脑很慢的问题?
  18. Artificial Intelligence 人工智能 AI search AI 搜索
  19. String tirm()方法去不掉的空格
  20. sql注入学习笔记(4)--sqlmap注入心得

热门文章

  1. 2019-12-22
  2. centos-6.2安装完后没有eth0网卡,无法设置ip的解决方法
  3. java ora 00911_java中 jdbc报错 ORA-00911: 无效字符
  4. 阿联酋·实拍迪拜世界最大最奢侈购物的天堂
  5. 申请CloudFlare免费DNS服务
  6. MySQL 注释方法
  7. 查询剩余火车票及火车票售票时间
  8. k线图解大全_何谓阴线阳线
  9. egg mvc demo
  10. UI技术经验分享 留白之设计