LR中select next row和update value on的设置
LR的参数的取值,和select next row和update value on的设置都有密不可分的关系。下表给出了select next row和update value on不同的设置,对于LR的参数取值的结果将不同,给出了详细的描述。
|
Select next row |
Update Value on |
实际运行结果 |
|
sequential |
each iteration |
在某次循环中所有用户取值相同。所有用户第一次循环取第一行值,第二次循环取第二行值 |
|
each occurrence |
在某次循环中或者脚本中使用参数的地方,所有用户取值相同。脚本中出现要使用参数的话,参数值就更新一次,循环一次值再更新一次。 |
|
|
once |
在所有的循环中所有用户取值相同。 |
|
|
random |
each iteration |
不同的用户,在不同的循环次数中,随机取值 |
|
each occurrence |
不同的用户,脚本中出现要使用参数的话,随机取值一次,循环一次再随机取值一次 |
|
|
once |
不同的用户,不管循环多少次,只随机取值一次。 |
|
|
unique |
each iteration |
若选择手工自配参数,那LR按照每用户几个参数先分配参数,然后进行循环。 |
|
each occurrence |
只能手工分配用户,给每个用户分配好X个参数后,在脚本中有参数的地方,就使用已经分配好的X个参数。 |
|
|
once |
按照用户数分配给每个用户分配一个参数而已。以后的循环这个用户就使用这一个参数 |
数据:A、B、C
虚拟用户:Vuser1、Vuser2、Vuser3
脚本中参数出现三次,脚本迭代三次
怎样取下一行数据?
Sequential:顺序,所有虚拟用户按照顺序读取数据表
Random:随机,所有虚拟用户随机形式读取数据表
Unique:唯一,所有虚拟用户每次各取一值(不重复)
什么时候访问数据表完成数据更新?
Each iteration:每次迭代以后
Each occurrence:每次出现参数
Once:每出现一个虚拟用户
实例:
顺序
Sequential + Each iteration
第一次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取A
第二次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取B
第三次迭代 无论参数任何时候出现Vuser1、Vuser2、Vuser3 取C
Sequential + Each occurrence
第N次迭代 参数第一次出现 Vuser1、Vuser2、Vuser3 取A
第N次迭代 参数第二次出现 Vuser1、Vuser2、Vuser3 取B
第N次迭代 参数第三次出现 Vuser1、Vuser2、Vuser3 取C
Sequential + Once
无论如何所有用户都取A
随机
Random + Each iteration
第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新
在N+1次迭代,每个Vuser重新随机抽取数据
Random + Each occurrence
第N次迭代 第一次遇到该参数 Vuser1、Vuser2、Vuser3在A、B、C中随机抽取一个
第N次迭代 第二次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个
第N次迭代 第三次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个
在N+1次迭代,每个Vuser继续保持每遇到一次参数就重新抽取一次数据
Random + Once
第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C
第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C
第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C
在N+1次迭代,每个Vuser不会重新抽取数据
唯一
注意:使用该Unique类型必须注意数据表有足够多的数。
比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。
因此以下例子在数据表中加入数据D、E、F、G、H、I。
Unique + Each iteration
第一次迭代 无论参数出现多少次 Vuser1取A Vuser2取D Vuser3取G
第二次迭代 无论参数出现多少次 Vuser1取B Vuser2取E Vuser3取H
第三次迭代 无论参数出现多少次 Vuser1取C Vuser2取F Vuser3取I
Unique + Each occurrence
第一次迭代 第一次出现该参数 Vuser1取A Vuser2取D Vuser3取G
第一次迭代 第二次出现该参数 Vuser1取B Vuser2取E Vuser3取H
第一次迭代 第三次出现该参数 Vuser1取C Vuser2取F Vuser3取I
Unique + Once
无论进行多少次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C
LR中select next row和update value on的设置的更多相关文章
- MySQL中select、insert、update批量操作语句
项目中经常的需要使用批量操作语句对数据进行操作,使用批量语句的时候需要注意MySQL数据库的条件限制,这里主要是数据的大小限制,这里对批量插入.批量查找及批量更新的基础操作进行下简单的汇总. 1.批量 ...
- MySQL中select * for update锁表的范围
MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例 ...
- MySQL中select * for update锁表的问题
MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例 ...
- 数据库中Select For update语句的解析
----------- Oracle -----------------– Oracle 的for update行锁 键字: oracle 的for update行锁 SELECT-FOR UPDAT ...
- mysql 多列唯一索引在事务中select for update是不是行锁?
在表中有这么一索引 UNIQUE KEY `customer_id` (`customer_id`,`item_id`,`ref_id`) 问1. 这种多列唯一索引在事务中select for upd ...
- update中加入select最常用的update语法
update中加入select最常用的update语法 (转) (2010-08-20 11:40:16) 转载▼ 标签: it 分类: SQL 最常用的update语法是:UPDATE <ta ...
- mysql进阶(四)mysql中select
mysql中select * for update 注: FOR UPDATE 仅适用于InnoDB,且必须在事务区块(BEGIN/COMMIT)中才能生效. 作用 锁定该语句所选择到的对象.防止在 ...
- SQL Server中如何定位Row Lock锁定哪一行数据
在SQL Server中有时候会使用提示(Hint)强制SQL使用行锁(Row Lock),前两天有个同事咨询了一个问题,如何定位Row Lock具体锁定了哪一行.其实这个问题只适合研究一下,实际意义 ...
- LR中的迭代次数设置
在参数化时,对于一次压力测试中均只能用一次的资源应该怎么参数化呢?就是说这些资源用了一次就不能在用了的. --参数化时,在select next row选择unique,update value o ...
随机推荐
- AC日记——[HNOI2007]紧急疏散evacuate bzoj 1189
[HNOI2007]紧急疏散evacuate 思路: 处理每个人到门的最短路: 然后二分答案: s向人连边流量1: 人向门拆分后的点连边流量1(拆成400,前一个点连当前点流量INF): 然后门向t连 ...
- 使用UICollectionView遇到的各种坑
1)头视图和尾部视图的添加 UICollectionReusableView *headerView = [collectionView dequeueReusableSupplementaryVie ...
- 全局变量 全局函数vue 方法
定义全局变量 原理: 设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或 ...
- 两个本质相同的dp
1.划分数 描述:给定数字N,将其划分为不超过K组,求不同的划分的总数(比如4——1 2 1,2 1 1就算做一种划分) 2.Dollar Dayz 描述:给定数字N,将其随意划分,但是组成数字不可以 ...
- GDI 编程基础简介
今天准备重新对GDI的知识进行回顾一下,以便加深认识. 一.GDI 在进行Windows编程时,可能经常会用到设备描述表的类型句柄,例如,最厂家的HDC,它就是图像设备描述类型句柄.因为GDI的绘图函 ...
- 关于Android内存优化你应该知道的一切
介绍 在Android系统中,内存分配与释放分配在一定程度上会影响App性能的—鉴于其使用的是类似于Java的GC回收机制,因此系统会以消耗一定的效率为代价,进行垃圾回收. 在中国有句老话:”由俭入奢 ...
- 窗体皮肤实现 - 增加Toolbar的交互性
稍微改造一下,让交互性更好点.增加提示和动态效果. 控件实现内容: 1.加入Hint提示 2.加入了简易动画效果,鼠标进入和离开会有个渐变效果. 实现方案: 1.基类选用 2.Action的关联 3. ...
- java 环境变量配置 Mac
大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...
- ie下div模拟的表格,表头表体无法对齐
现象:ie下,如果某个区域滚动显示表格内容(div模拟的table),表体出现滚动条的时候,会跟表头无法对齐. 解决方法:1.首先需要知道两个高度:表体最大高度height1.目前表体要显示的内容高度 ...
- sakila演示数据库安装
下载地址:https://dev.mysql.com/doc/index-other.html 安装帮助文档:https://dev.mysql.com/doc/sakila/en/sakila-in ...