关于Loadrunner的一些RunTimeSetting,适合新手

1.Controller-Edit Schedule-Initialize all Vusers before Run
这是Controller中一个很有用的功能,why?正如该选项下面括号中所说,选择这个选项意味着,只有当所有的Vusers都到达Ready状态,才能开始Run。那究竟有什么用处呢?
案例1:测试500人并发测试登录,不选择这个这个选项,系统会按照默认的每次50个Vusers进行初始化,如果,系统吞吐能力很强的话,观察Running Vusers中的Running曲线,会呈现出一种缓慢上升,到达一个最高点,平缓一段时间,然后下降的曲线。然而,查找最高点的值,它肯定小于500。这样,根本达不到500并发的目的。
案例2:有3个脚本,如:登录100;查看工资条100;修改信息集200;想在同一个场景下同时并发操作。不选这个选项,直接执行。你看到了什么?一个脚本都有执行完的了,而其他的还有没开始的呢。还怎么并发啊?

2.设置“ThinkTime”

“ThinkTime”顾名思义-思考时间。它效仿真实用户在实际操作过程中的等待时间。也就是说,实际用户在浏览网页,操作B/S系统的时候,不可能像机器一样不停的点啊点,在操作和操作之间会有一定的间隔。如:你浏览网页,打开一个或几个网页后,你会阅读,读过之后才会继续打开新网页。你阅读时所消耗的时间就是Think Time。对于服务器来说,这段时间是没有压力的。

我们做性能测试,很多时候就要模拟这种状态。例如:某系统,要求满足100用户同时在线操作,响应时间在5秒。如果不设置Think Time,我觉得,你的测试是失败的。大家想想为什么?答案将在文章的结尾揭晓。

下面我来讲解一下LR中Think Time的设置。

设置Think Time有两种方式,一种是使用Record think time在录制过程中根据实际等待时间自动的写入脚本。另一种是在脚本录制结束后手动加入到脚本中。接下来我们详细介绍。

自动:

位置及操作:Recording Option-Advanced:勾上Record think time,这样在你录制的时候,Think Time就会自动添加入你的脚本。需要注意的是,后面还有一项Think time threshold,它的作用是定义你所要录制的Think Time的最小时间。举个例子,如果你把这个值设置为5秒,那么如果录制过程中等待的时间小于5秒,那么就不会在脚本中记录这个Think Time。

手动:

位置及操作:脚本中任何你想要插入的地方。注意,不要将Think Time插入到你定义的事务当中,否则,测出的事务时间需要减去Think Time的时间呦。操作:在你想要插入Think Time的地方,右键,Insert-New Step在Time To Think () second在空中填写你为想要设置的时间。也可以在脚本中直接写函数lr_think_time();

添加好后,我们在Run-time Settings中设置执行的策略。

位置:Run-time Settings-Think Time。进入后,我们会看到两个选项。Ignore think time:忽略think time,也就是即使你添加了think time,脚本执行的时候也不会理睬,忽略不执行。Replay the think time:下面还有3个子项。As recorded:按照录制的执行。不用多说。Multiply recorded think time by:这就是我录制的think time乘一个系数。如,你录制的think time是4秒,在这里设置2,最后执行时就会按4秒×2=8秒来执行。如果你想要执行2秒,就在这里填0.5。Use random percentage of the recorded think time:这里随机设置一个百分比,并规定上下限。如,录制的think time为4秒。Min为50%,Max为200%。那么执行的时候它就会从2秒到8秒内随机取一个数来执行。Limit think time to:为think time设置一个上限,不管上面的如何设置,执行的时候,取值都不会操过这个上限。

讲到这里,think time的设置大家应该很明白了。不知道让大家思考的问题是否想通了。需求说的是100用户同时在线操作,注意,是在线!大家想想,100人在线肯定有人在操作,也有人只是在线,没有对服务器发出任何请求。如果不设置think time,相当于100人并发操作,每个人都不停的向服务器发送请求,这比需求的压力可是大很多的呦~ 

3.Vugen和Controller中都有Run-time Settings,那么它们有什么区别呢?

其实它们里面的内容和实现的功能完全一样,区别主要在用法上。

1.在Vugen中设置Run-time Settings,单独运行脚本,会按照Vugen里的设置运行。

2.如果在Controller中加载Vugen,Controller中的Run-time Settings会和加载Vugen中的完全相同。

3.如果Vugen已经被加载,修改Vugen中的设置,Controller不会自动更新,需要重新加载。

4.如果Vugen已经被加载,修改Controller中的设置,Vugen不会别更改。

5.如果Vugen已经被加载,修改Controller中的设置,并保存Controller。下次打开Controller的时候,Controller中Run-time Settings的设置会跟Controller保存前一致,不管Vugen的设置是否改动。

总之,只要Vugen被Controller加载,就以Controller中的Run-time Settings设置为准。

4.如何在一个脚本中实现不同事务不同次数的循环呢?

案例:假如你想在一个脚本中,实现登录执行1次,查询执行2次,插入执行3次,怎么办?录3个脚本?每个事务分别在脚本中复制N次?

当然不用,LR早就想到了你的需求,下面让我们隆重推出Block。

位置:

Run-time Settings--General--Run Logic

操作:

1.将你所要考察的事务设置在不同的Action内。

2.在Run Logic中的Run中删掉默认的Action。

3.在Run中插入Block。

4.在插入的Block中再插入我们要考察的Action。

5.设置Block的properties。这里有两种选择,Sequential和Random。如果选择Sequential,在下面的Iteration中直接填入数值,那么Block中的Action都会按输入的次数执行。如果选择Random,下面的properties还可以设置Block内各Action执行的百分比。

按照我们前面的案例,我们只需要设置3个Block,每个Block中分别插入一个Action,设置执行次数分别为1,2,3就可以了。

 

转载于:https://www.cnblogs.com/hj57519153/p/5112044.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Runtime-Setting参数详解General / Run Logic 选项卡 主要用来设置运行时脚本迭代的次数,迭代次数只对run部分的脚本迭代次数有影响,而对int和end部分并没有影响。一般设置为1~3次,只会影响在单位时间内客户端向服务器提交的HTTP请求数,其他的没有影响。 Number of Iterations:说明的是反复循环的次数。 常境的时间中,如果时间设为5分钟,而实际上程序的运行只需要1分钟,而在这项中,选择的是1次的话,那程序就运行完一次后,就不会再运行。相同的,如果在这一项中选择的是3次的话,那程序在运行后第一次后,还会再运行第二次,第三次。也就是说,在规定的时间和循环次数中,程序Run模块的运行不超过规定时间时,那程序Run模块会运行到规定的时间,不设定时间也可以进行循环。    Insert Action:为模块Init, Run和End再添加Action。 Insert Block:为模块Init, Run和End添加阻碍。添加第一次为Block0,子目录为:No Actions;添加第二个为Block1,子目录为:No Actions,以此为推。 Delete:删除。删除每个模块下的Action Move Up:移动下面的模块到上一层 Move Down:移动下面的模块到下一层 。 Properties:确定Run logic中各Action的循环顺序和Iterations次数。 一个Run中可以添加多个Action和多个Block,一个BLock中可以添加多个Action。 如何在一个脚本中实现不同事务不同次数的循环呢? 案例:假如你想在一个脚本中,实现登录执行1次,查询执行2次,插入执行3次,怎么办? 录3个Action脚本,我们只需要设置3个Block,每个Block中分别插入一个Action,设置执行次数分别为1,2,3就可以了; 另Block的properties。这里有两种选择,Sequential和Random,分别代表顺序执行/随机执行下属的Action

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值