首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >高级性能测试系列《21.临界部分控制器:如何让锁变成动态锁,生成多把锁? 》

高级性能测试系列《21.临界部分控制器:如何让锁变成动态锁,生成多把锁? 》

作者头像
清菡
发布于 2022-12-02 13:48:49
发布于 2022-12-02 13:48:49
1.1K0
举报
文章被收录于专栏:清菡软件测试清菡软件测试

目录

  • 一、事务控制器+聚合报告
  • 二、临界部分控制器
    • 1.锁名称:默认是一个固定锁名称。
    • 2.如何让锁变成动态锁,生成多把锁?
  • 三、临界部分控制器的应用场景

一、事务控制器+聚合报告。

  • jmeter中,默认一个取样器,发起一次请求就是一个事务。
  • 多个取样器要合并为一个事务,添加事务控制器。

聚合报告:

聚合报告和汇总报告是一样的。

  • 1、没有网络瓶颈的时候,吞吐量的值等价为tps的值。
  • 2、并发用户数不变。负载测试要逐步增加并发用户数,并发用户数一直在变。这种时候,也不能看聚合报告的。

聚合报告中的数据,吞吐量的值是一个平均数。

所以不能用这个平均数来衡量不同并发用户数下的服务器的tps值。

  • 每一行,代表一种事务。

二、临界部分控制器

Critical Section Controller临界部分控制器。 ----比较特殊,用得少。

  • 作用:严格控制请求的顺序。

1.锁名称:默认是一个固定锁名称。

锁名称:固定值。

相当于把性能测试中的并行执行,强制转换为串行执行。

图1:只有一个高速收费站(只有一把锁),所有的用户在排队,依次拿到这把锁,才能进入。前面这个用户拿走了这把锁(锁已经锁定了),后面这个用户没有锁是进不去的。所以排队等候,等这把锁释放了,后面这个用户拿到了这把锁,才能进入高速公路。这个时候就是串行执行了。

2.如何让锁变成动态锁,生成多把锁?

图2:有多个用户同时到了多个高速收费口(每个高速收费口都有一把锁),多个用户就不用排队了。每个用户都可以拿到一把锁,就进入高速公路了。这个时候就是并行执行了。

图3:对于每一个用户来说,每个用户的第一辆车和第二辆车是串行在执行的。对于整个来说,多用户是并行执行的。

  • 锁名称变成一个动态名称。

动态值:${__threadNum}

生成线程号

global_lock_${__threadNum}

临界部分控制器

假设有3个用户。第1个用户,执行请求1,再执行请求2;第2个用户,执行请求1,再执行请求2;第3个用户,以此类推。三个用户是同时执行的。

加了临界部分控制器(加了动态锁),对于每个用户而言,它是强制从上往下执行请求1和请求2的。

即使不加临界部分控制器,也是从上往下执行请求1和请求2的。

三、临界部分控制器的应用场景

功能测试里会用到临界部分控制器。在性能测试里,很少用到临界部分控制器。

因为加了临界部分控制器,请求1和请求2被执行的顺序是从上往下;不加临界部分控制器,请求1和请求2被执行的顺序也是从上往下。

所以,除了一些特殊的情况,性能测试里是不会用到临界部分控制器的。

更多临界部分控制器的内容,参考:

http://testingpai.com/article/1595507267745

脚本链接:

链接:https://pan.baidu.com/s/1J0Z65TNONrpTuMC3xbZGWA?pwd=1234 提取码:1234


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图。文章中的链接文章的版权归原作者所有。清菡编写的此文,如有转载,请标明出处!

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

本文分享自 清菡软件测试 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
高级性能测试系列《20. 事务控制器、在性能测试中,看聚合报告的前提条件是?》
但是,接口测试、自动化测试脚本,不能直接用于性能测试,需要进行性能转换,才能用于性能测试。
清菡
2022/12/02
9440
高级性能测试系列《20. 事务控制器、在性能测试中,看聚合报告的前提条件是?》
Jmeter事务控制器&聚合报告
添加:逻辑控制器/Logic Controller -> 事务控制器/Transaction Controller
孟船长
2023/01/14
5750
Jmeter事务控制器&聚合报告
10-逻辑控制器
IF条件控制器 Interpret Condition as Variable Expression?默认勾选: 条件结果为true才会执行子取样器 需要使用{__jexl3(,)}和{__groov
zx钟
2021/04/29
1.2K0
10-逻辑控制器
【JMeter-4】JMeter元件详解之逻辑控制器
文章内容是参照Jmeter官网和自己实践完成的,JMeter官网地址贴上,有兴趣的朋友可以去阅读一下:JMeter官网
云深i不知处
2020/09/16
1.7K0
性能测试|JMeter逻辑控制器(一)
Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”。
霍格沃兹测试开发Muller老师
2023/01/11
7820
性能测试|JMeter逻辑控制器(三)
在做性能测试的时候,如果被测系统是需要登录的,登录成功后,系统默认加载其订单数据,因此在用户看来这是一个操作。所以为了模拟这个操作,我需要访问两个接口,并且把这两个接口的响应时间算在一起,那么就用到了事务控制器,举个列子给大家分享下我的理解,希望大家相互学习,多多指点。
霍格沃兹测试开发Muller老师
2023/01/12
5270
Jmeter必知利器-临界部分控制器
相信大家在使用开源工具Jmeter 进行接口并发测试时,经常回有混合场景多个接口同时执行的场景,如果我们将一个链条的接口放在线程组下同时执行时,我们使用的 察看结果数 监听器看到的接口执行顺序是混乱的
测试小兵
2020/12/16
3.6K0
Jmeter必知利器-临界部分控制器
如何正确使用JMeter性能测试?紧扣面试实际要求
前段时间专门挑了一段时间在准备面试。经过两次面试后,有一些比较深刻的认识。对于企业要求来说,除了对专业理论知识考究之外,对测试工具这块也是看重的。
憨憨默默成神
2021/10/12
1.7K0
如何正确使用JMeter性能测试?紧扣面试实际要求
Jmeter系列(51)- 详解 Transaction Controller 事务控制器
https://www.cnblogs.com/poloyy/category/1746599.html
小菠萝测试笔记
2020/08/24
5.2K0
Jmeter系列(51)- 详解 Transaction Controller 事务控制器
9-正则提取器
使用「JMeter Variable Name to use」对「token」进行二次提取
zx钟
2021/04/29
8630
9-正则提取器
JMeter执行性能测试如何快速确定拐点
1. 首先给大家介绍如何开发高效执行的性能测试脚本,目前多数用户都是分不同并发用户单次执行,该方法执行效率低,并且不方便数据比对,如下
jmeter技术研究
2019/10/30
3.2K0
JMeter执行性能测试如何快速确定拐点
Jmeter体系结构-事务控制器
在性能测试工作中,我们往往只测试业务功能相关主要接口的数据请求和返回。然而实际上用户在使用web应用时,可能会加载诸多资源:htmldom、cssdom、javaScript、ajax请求、图片等。从打开一个页面到界面渲染完成需要一定的加载时间,这个加载时间是衡量web性能的标准之一。web应用的快速响应,会给用户带来良好的体验。
Altumn
2020/04/22
5870
Jmeter体系结构-事务控制器
Jmeter(九) - 从入门到精通 - JMeter逻辑控制器 - 上篇(详解教程)
Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”。
北京-宏哥
2020/06/16
5.2K0
使用jmeter创建一个简单的性能测试
启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。
程序媛淼淼
2022/07/01
1.4K0
使用jmeter创建一个简单的性能测试
【性能测试】Jmeter详细操作-小白使用手册(2)
本篇文章主要介绍Jmeter中如何使用 JSON断言、同步定时器、事务控制器、CSV数据文件设置、HTTP Cookie管理器
三三是该溜子
2025/03/11
2880
【性能测试】Jmeter详细操作-小白使用手册(2)
17-混合场景设计
因为并发用户数量设置,是要使用线程组的。所以「不同数量的并发用户」需要使用多个线程组
zx钟
2021/05/27
8070
17-混合场景设计
Jmeter系列之《4.第一次性能测试实践》
如果不知道怎么填写,就填下服务器名称或ip,选择请求的方法即可,其它不填写为默认。
清菡
2022/04/28
4930
Jmeter系列之《4.第一次性能测试实践》
性能测试篇:入门性能测试
性能测试一直是测试行业中比较难的一块,含金量比较高,工作经验越多工资越高,而且最近很多招聘中初级测试都要求会性能测试,要求越来越高了,那我们就一起学习性能测试吧!
小雯子打豆豆
2021/01/04
4.9K0
性能测试篇:入门性能测试
高级性能测试系列《22. 仅一次控制器、switch控制器 、随机控制和随机顺序控制器》
并发用户是10,不管你设置循环多少次,其下挂载的取样器,每个取样器都只会执行10次。
清菡
2022/12/02
4840
高级性能测试系列《22.  仅一次控制器、switch控制器 、随机控制和随机顺序控制器》
JMeter之事务控制器
性能测试的结果统计时我们一定会关注 TPS, TPS 代表每秒的事务数,每个事务对应的是我们的请求。虽然 Jmeter 能够帮我们把每个请求统计成一个事务,但有时候我们希望多个操作统计成一个事务,Jmeter 也考虑到了这种需求,我们可以通过逻辑控制器中的事务控制器来完成。
全栈程序员站长
2022/06/30
1.2K0
JMeter之事务控制器
推荐阅读
相关推荐
高级性能测试系列《20. 事务控制器、在性能测试中,看聚合报告的前提条件是?》
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档