LoadRunner中,参数化时Unique取值方式的理解

2012年10月15日 18:10:36 瑞秋 阅读数:10028
 

在LoadRunner中进行参数化时,Parameter的取值设置有以下相关参数:

取值方式:

Sequence:顺序

Random:随机

Unique:唯一

改变(更新)取值的时机:

EachIteration:每次迭代

EachOccurrence:每次出现

Once:只改变一次

Unique的使用,理解起来相对困难些,此处重点讲解该取值方式。

当我们取值方式选为Unique,更新取值时机选为EachIteration时,还有一个选项可设置,那就是:allocate Vuser values in the controller:它有两个选项:1、automaticallyallocate block size;2、allocate _____values for each Vuser.因为我们选择了“每次迭代”更新取值的方式,所以可以指定是由系统自动分配Vuser的参数值数量,还是人为指定为每个Vuser分配的参数值数量。其实很多时候,参数化的数据量在长时间执行压力测试的时候,并不够用,我们通常会选择人为指定为每个Vuser分配参数值数量。那么这个数量如何确定呢?

业务场景举例:

1.      用户在10分钟内不能重复登录,否则断开该账号的所有登录连接;

2.      现在要评估大量用户成功登录后,查看个人资料,对系统造成的压力情况;

分析:录制的脚本包括登录和查看个人资料,且需保证10分钟内用户不会重复登录。需对登录用户的账号进行参数化处理,取值方式需使用unique,此处采用File来做参数化。假设File中usename的值有10000个,在执行场景时,设置的Vuser数为100个。

username值的分配方式:

迭代次数       Vuser数        每个Vuser分配的参数值数量

100             100           1*100;2*100;….;100*100      用到参数值总量:10000

99              100           1*99;2*99;….;100*99       用到参数值总量:9900

101             100           1*101;1*101;….;100*101      用到参数值总量:10100

(注:第3项的 *前是vuser的编号,*后是每个Vuser最多可以取多少个不同的值)

针对上述3中分配方式,在Vuser数和参数值总量固定的情况下,每个Vuser分配的参数值数量实际就是迭代次数。迭代次数小于或等于100时,参数值总量是够用的;迭代次数大于100时,参数值总量就不够用了,执行压力测试时就会报错,故我们需要保证参数值总量够用。那么该选项:2、allocate _____values for each Vuser的数值,必须小于等于100。(注:这个迭代次数的最大值:参数化值总量/Vuser数(整数部分))

假设上述选项,填写的是100,与之相关的最后一个相关选项的解释:

When outof values:

1、       中止:abort Vuser

2、       循环Vuser分配到的列表

3、       只循环最后一个列表项

假设选定2,当迭代次数达到100后,从第101次迭代开始,Vuser使用第1次迭代用过的取值,第102次迭代使用第2次迭代使用过的取值,依次类推;

假设选定3,当迭代次数达到100后,从第101次迭代开始,Vuser一直使用第100次迭代的取值。

LoadRunner中,参数化时Unique取值方式的理解的更多相关文章

  1. jmeter读取文件进行参数化时随机取值实现

    jmeter能用来做参数化的组件有几个,但是都没有随机取值的功能,遇到随机取值的需求怎么办呢? 突发奇想,可以用函数_StringFromFile来实现,先来介绍下此函数: 此函数位于函数助手中, 函 ...

  2. Loadrunner中参数化取值方式分析

    Loadrunner中参数化取值依赖两个维度: 1.取值顺序分为“顺序”“随机”“唯一”.    select next row:Sequential , Random,unique 2.更新值时分为 ...

  3. loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

    loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...

  4. LoadRunner参数化之数据取值和更新方式

    其实看LR已经很久了,每次看到参数化的取值更新时,都没有看透,了解个大概就为止了,也确实挺搞脑子的. 现在理解下来 分成2部分 取值方式  Select next row 如何从数据列表中取值 Seq ...

  5. loadrunner 参数化取值方式详解

    参数化对话框中与参数取值方式有关的区域如下: 改变参数化的取值方式,关键在于Select next row和Update value on这两个选项. Select next row包括以下选项: S ...

  6. mybatis中两种取值方式?谈谈Spring框架理解?

    1.mybatis中两种取值方式? 回答:Mybatis中取值方式有几种?各自区别是什么? Mybatis取值方式就是说在Mapper文件中获取service传过来的值的方法,总共有两种方式,通过 $ ...

  7. php的form中元素name属性相同时的取值问题

    php的form中元素name属性相同时的取值问题:修改元素的名称,在名称后面加上 '[]',然后取值时即可得array()数组. 一.以复选框为例: <html> <head> ...

  8. 转:LoadRunner中参数化技术详解

    LoadRunner中参数化技术详解 LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提 ...

  9. 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

随机推荐

  1. linux下使用svn创建版本库和权限管理

    linux上的svn服务端如何和本地的电脑客户端结合使用 Linux上安装SVN服务器: 第一步:检查是否已安装 # rpm -qa subversion 第二步: 通过yum命令安装svnserve ...

  2. EOJ Monthly

    ###2018.10 A.oxx 的小姐姐们 oxx 和他的小姐姐(们)躺在图书馆前的大草坪上看星星. 有强迫症的 oxx 想要使得他的小姐姐们正好躺成一块 n×m 的长方形. 已知小姐姐的形状是 1 ...

  3. session共享方法

    session数据保存在memcached,redis这种内存数据库内 memcache比较简单,使用的场景比较多.redis支持的数据类型多.而且数据具有期限,和session和期限可以配合使用 通 ...

  4. websocket 加layim实现在线聊天系统

    实现流程: 1.浏览器连接服务器时保存所有用户id以及对应的唯一session(session用户用户消息推送). 1.1:判断登录用户是否有离线消息(个人消息以及群消息),有则将离线消息进行推送给登 ...

  5. ES6学习笔记(10)----Set和Map数据结构

    参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ Set和Map数据结构 1.Set  基本用法    Set是一种新的数据结构,它的成员都是唯一 ...

  6. Redis为什么这么快

    Redis为什么这么快 1.完全基于内存,绝大部分请求是纯粹的内存操作,非常快速.数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1): 2.数据结构简单, ...

  7. java 之 插入排序

    思想:将一个数组分成两组,左边那组始终有序,每次取右边那组插入到左边适当的位置,保证左边有序,当右边没有需要插入的数据的时候,整个数组是有序的.插入排序是稳定排序. 注:此图引用自https://ww ...

  8. 在docker容器中运行hello world!

    在docker容器中运行hello world! docker容器可以理解为在沙盒中运行的进程.这个沙盒包含了该进程运行所必须的资源,包括文件系统.系统类库.shell 环境等等.但这个沙盒默认是不会 ...

  9. QWidget标题栏双击事件

    widget.h virtual bool event(QEvent *event); widget.cpp bool Widget::event(QEvent *event) { if (event ...

  10. 做OJ项目时遇到的坑

    1.js代码写在Dom加载前,导致highcharts在ie8能够显示,而ie高版本和其他浏览器不能显示 我的理解:由于IE8和其他浏览器的js解析机制不同,ie8是在等dom全部加载完才开始执行js ...