场景设计(一)-----手工场景设计
手工场景
打开controller,选择场景为Manual Scenario,导入完成的脚本,点击ok
(可选)想按百分比分布Vuser的话,选择Use the Percentage mode... 选项
查看Design页签上的Scenario Schedule
scenario模式下的Run Mode---->Schedule by Scenario和Group的区别(场景中的每个脚本都会按照自己的Run-Time settings中的设置运行):
Real-world Schedule:可以定义每次运行多少用户,场景持续运行多久,还可以设置每次停止多少个用户;
Basic Schedule:可以定义每次运行多少用户,场景持续运行多久,比上面的选项少了设置停止用户数;
Schedule by:Group(该设置在百分比模式下不可见)
双击Group Schedule下的Start Group,打开Start Group策略,设置脚本在手工场景下的Group模式中如何开始运行
1、Start immediately after the scenario begins:LoadRunner在场景一运行就开始运行Vuser Group
2、Start <00:00:00> (HH:MM:SS) after the scenario begins:场景运行后,LoadRunner等待指定的时间后开始运行Vuser group.
3、Start when group finishes:指定Vuser group运行完成后,LoadRunner马上开始运行该Vuser group.
双击Group Schedule下的Initialize,打开Edit Action策略,指导LoadRunner准备Vusers,以便于他们处于准备运行状态,具体如下:
1、Initialize all Vusers simultaneously:在LoadRunner在运行vuser前初始化所有Vusers
2、Initialize XX Vusers every <00:00:00> :LoadRunner在运行vuser前,根据指定的时间间隔,逐渐初始指定数量的Vuser
3、Initialize each Vuser just before it runs(Default):LoadRunner在运行它们前初始化每一个Vuser;
双击Group Schedule下的Start Vusers,打开Edit Action策略,指导LoadRunner开始运行Vusers,具体如下:
1、Start XX Vusers::指定开始运行的虚拟用户总数
2、Simultaneously:表示同时运行
3、Start XX Vusers: YY Vusers every <00:00:00> (HH:MM:SS):按指定的时间间隔,逐步运行指定数量的用户,也就是说运行指定数量的一组Vusers,并且等待指定时间后运行指定下一组Vuser.
双击Group Schedule下的Duration,打开Edit Action策略,指导LoadRunne持续运行时间,
Real-world schedule显示为:
Basic schedule显示为:
1、Run until completion:根据running setting中迭代次数,如果迭代完成则停止运行。
2、Run for x days and xx:xx:xx:这边设置的时间优先于running setting中的设置的迭代次数(实际迭代次数可能大于/小于你设置的迭代次数)
3、Run indefinitely:无限运行
3、点击Previous 或Next可切换其它要编辑的action.
Vusers管理
在Run页签中,点击Vusers
可查看当前场景的脚本,用户数,添加用户,以及当前模拟用户的运行状态
负载生成器
添加负载生成器的方式,有如下几种(前提条件,需要关闭防火墙):
1.在Design页面中,点击Load Generatios 下拉框中的Add,输入需要添加的负载生成器信息
2.点击Run页面中,Load Generator按钮,打开的Load Generators对话框中点击Add并输入你要添加的负载生成器的详细信息
3. 在Run页面中,点击菜单Scenario---->Loadgenerators,打开的Load Generators对话框中点击Add并输入你要添加的负载生成器的详细信息
添加后点击Connect
集合点
概念:
集合点就是模拟瞬间的并发
在loadrunner的虚拟用户中,并发与同时存在一些区别,并发是指虚拟场景中参与运行的模拟用户,而同时是指在同一时刻一起执行某个事务的虚拟用户。
如何在脚本中添加集合点,有以下几种方法:
-
将鼠标放置到需要添加集合点的地方,右键--->insert---->Rendezvous,在脚本中生成 lr_rendezvous("");函数,输入需要的集合点名;
-
选择菜单栏中Design--->Insert in Script---->Rendezvous,输入需要的集合点名;
如何设置集合点:
-
打开controller,导入完成的脚本
-
选择菜单栏中Sceario--->Rendezvous打开集合点设置对话框
我们可以看到Vusers列表中有10个虚拟用户,选择某个集合点,点击“Disable Rendezvous”不对选中的集合点进行设置,
选择某个虚拟用户,点击“Disable Vuser”,该虚拟用户不参与集合点的设置
-
点击 “Policy...”来这是集合点策略:
这三种策略的含义:
第一个:当所有用户的X%到达集合点时释放,即仅当指定百分比的虚拟用户到达集合点时,才会释放虚拟用户(可以用于购物秒杀)
备注:此选项将会干扰场景的计划,如果选择该选项,场景将不会按照计划运行
第二点:当所有正在运行的用户的X到达集合点时释放(类似于分批来对服务器产生压力,看服务器的及时处理能力)
备注:如果设置1分钟启动1个用户,则会有用户存在,但未运行的状态(还没有启动),即无法参与集合点
第三点:当设置的2,等待时间为30S,则表示的等到2个用户到达集合点,在等待30秒,即开始 释放虚拟用户
具体项目具体分析,没有固定的公式可以套用