一个完整的业务包含多个接口请求,且有先后顺序。在做性能测试的时候,要求接口请求顺序永远按照自己定义好的请求顺序执行。
增加一个critical section controller(临界部分控制器),认为增加一个锁,能控制执行顺序。

在jmeter中,同层级无逻辑控制器控制的取样器,执行顺序是从上往下,顺序执行的。这句话,怎么理解?在我们单个用户脚本调试阶段,执行顺序是从上往下;在多用户并发时,每一个并发用户(线程),也都是从上往下执行的,只是因为是并发,同一时刻,可能有不同用户(线程)做完了不同接口请求,查看结果树只是按照完成时间的先后显示请求结果。

临界部分控制器确保其子元素(采样器\控制器等)将仅由一个线程执行,在执行控制器的子元素之前先命名一个锁锁定。

并发请求(线程)这个控制器时,会先根据‘锁名称’生成一个‘锁’,锁定控制器下的所有子元素,等到所有子元素都执行完‘锁’才会释放,下一个请求(线程)才能执行,即,把原本的并发请求的并行处理方式,变成了串行处理。

每个线程要用的时候,生成一个新的锁名称而且不重复,是不是就可以并行处理了。想要锁名称变成动态,方法很多,使用随机数函数、使用时间戳函数、使用线程数函数…, 是不是很多,只要用个自动生成值的函数就可以。
修改了critical section controller的锁名称为动态值,当某个线程调用时,就会自动生成一个新的锁名称。

【Jmeter控制执行顺序 Critical Section Controller临界部分控制器】相关推荐

  1. 【Jmeter篇】临界区控制器Critical Section Controller业务流顺序负载压测

    临界区控制器(critical section Controller) 作用:临界区控制器确保其子节点下的取样器或控制器将被执行(只有一个线程作为一个锁)确保它的子元素(samplers /控制器等) ...

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

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

  3. jmeter 线程执行顺序_性能测试之jmeter逻辑控制种类详解一

    逻辑控制器介绍 Jmeter逻辑控制可以对元件的执行逻辑进行控制,除Once only Controller仅一次控制器以外,其他控制器都可以可以嵌套其他种类的控制器,下面是jmeter5.3支持的控 ...

  4. jmeter 线程执行顺序_面试官让我说出8种线程顺序执行的方法!我懵了

    https://www.cnblogs.com/wenjunwei/p/10573289.html 一.前言 本文使用了8种方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止 ...

  5. jmeter 线程执行顺序_软件接口测试工具Jmeter使用方法详解(一)

    介绍完了接口测试是什么及其内在逻辑和Jmeter的安装,从这篇文章开始我们正式开始介绍Jmeter的使用方法.如果对接口测试逻辑流程和Jmeter安装有疑问的朋友,可以看这两篇文章: 星空下:软件接口 ...

  6. 怎么控制ajax执行先后顺序,[转]多个ajax请求时控制执行顺序或全部执行后的操作...

    一.当确保执行顺序时: 1. 请求加async: false,,这样所有的ajax就会同步执行,请求顺序就是代码顺序 2.$.when($.ajax( {async: false, url : url ...

  7. jmeter 线程执行顺序_Jmeter-线程组执行顺序控制

    线程组按顺序来执行,大概思路, 1.需要控制线程组内的操作在满足某一条件才执行,那么就需要使用if或者while: 2.要使用if或者while都需要一个变量,而这个变量要在两个或多个线程组内使用,那 ...

  8. 控制过滤器Filter执行顺序

    方式一:web.xml中的filter-mapping位置 通过web.xml中控制filter-mapping的位置来控制的,放在上面的会比放在下面的先执行,如下"用户登录检查过滤器&qu ...

  9. @WebFilter怎么控制多个filter的执行顺序

    转自:http://blog.csdn.net/liming_0820/article/details/53332070 之前我们控制多个filter的执行顺序是通过web.xml中控制filter的 ...

最新文章

  1. 详解Python拼接字符串的七种方式
  2. mysql存储过程不常用_Python--day46--mysql存储过程(不常用)(包含防sql注入)
  3. 新款iPhone,比绿更绿
  4. PPC中检查某程序是否运行
  5. 修改WordPress主题导致整个站点404无法访问
  6. softmax理论及代码解读——UFLDL
  7. tomcat(20)基于JMX的管理
  8. 如何让自己的内心强大起来
  9. 正态分布的前世今生(3)
  10. mysql char(36)_MySQL中char(36)被認為是GUID導致的BUG及解決方案
  11. 一稿过的Banner模板素材!做电商的你一定需要
  12. Fabric java sdk 1.4简明教程
  13. 分区魔术师于分区助手怎么选择
  14. Ubuntu 修改 谷歌输入法 简繁体切换的快捷键
  15. 摄影基础知识——焦点
  16. 改进的树状长短期记忆网络(Tree-LSTM)语义表示
  17. Linux(九、十)文件权限及网络配置管理
  18. Postgresql-11 根据多字段创建分区表
  19. 360safe.php绕过,venom结合Metasploit绕过360安全卫士
  20. java程序纠错题_面试题错题本之java

热门文章

  1. linux中安装软件格式错误,linux安装文件报错
  2. rtklib导航P文件以及实时导航时间解析
  3. vue 组件延时加载_为什么以及如何延迟加载角组件
  4. 使用yolov5训练自己的模型修改的地方
  5. web服务器软件_选择Web服务器软件
  6. MATLAB程序:综合能源系统优化调度,考虑了阶梯型碳交易机制和氢能,具有一定的创新。
  7. dreamwever基础知识与简单网页的制作
  8. 一次显卡报错的解决过程
  9. 网络电台(WIZ550io)
  10. Office2010最佳体验之 同工作齐分享