目录
- 一、事务控制器 聚合报告
- 二、临界部分控制器
- 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
文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图。文章中的链接文章的版权归原作者所有。清菡编写的此文,如有转载,请标明出处!