Loadrunder场景设计篇——定时器(schedule)
A. 定义方案schedule
在 Scenario Schedule面板中,选择一个方案schedule,或通过点击New Schedule定义一个新的方案
定义schedule:
a、新建schedule:点击新建按钮(可选)
b、重命名schedule:在Schedule Name输入新的名字并点击Save New Name(可选).
c、选择schedule类型,Schedule by: Scenario 或 Group.
d、选择运行模式Run mode: Real-world 或Basic
说明:
1.对所有schedule默认的运行模式都是Real-word.你可以改变缺省模式为Basic。Tools > Options > Execution tab
2. Schedule by Scenario和Group的区别
Real-world Schedule和Basic schedule的区别:根据官方文档,这两种模式下,场景中的每个虚拟用户组(可看成是每个脚本)都会按照它们自己的Run-Time settings中的设置运行。区别在于可模拟的操作不一样:
Schedule by:Scenario
Basic Schedule:可以定义每次运行多少用户,场景持续运行多久
Real-world Schedule:同Basic schedule,除此之外,还可以设置每次停止多少个用户。
Schedule by:Group(该设置在百分比模式下不可见)
Basic schedule:可以定义什么时候开始运行虚拟用户组(Group和Scenario的主要区别),每次运行多少个虚拟用户,场景持续运行多久
Real-world Schedule:同Basic Schedule,除此之外,还可以设置每次停止多少个虚拟用户。
双击Group Schedule下的Start Group Action,打开Start Group策略,设置脚本在手工场景下的Group模式中如何开始运行
B. 为schedule定义action(Global schedule)
Actions表格展示了默认的与步骤2选择的shedule对应的actions。
Schedule Actions.
一个场景schedule包含了一系列actions,指导场景什么时候运行Vuser group,怎么初始化虚拟用户,合适开始和停止虚拟用户,及运行一个action要花的时间。
注意:
脚本中带集合点会妨碍场景方案的运行。如果有包含集合点,场景可能不会按照你设定的方案运行。
说明:
1) Start Group
定义何时开始运行Vuser 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.
注意:Start Group仅在group schedule类型中可用,而且总是作为第一个action出现.
2) Initialize
指导LoadRunner准备Vusers,以便于他们处于准备运行状态.
1、Initialize all Vusers simultaneously
在LoadRunner在运行vuser前初始化所有Vusers.
注意:选择该设置可能会导致运行出错:error-27796 failed to connect to server
2、Initialize XX Vusers every <00:00:00> (HH:MM:SS)
LoadRunner在运行vuser前,根据指定的时间间隔,逐渐初始指定数量的Vuser,
3、Initialize each Vuser just before it runs(Default)
LoadRunner在运行它们前初始化每一个Vuser
注意:
当Wait for all groups to initialize选项被选中时,必须等所有的Vuser group完成对虚拟用户的初始化后才运行
该选项对于group scenario不可用
3) Start Vusers
指示loadRunner开始运行Vusers。
1、Start XX Vusers: Simultaneously(Default)
指定LoadRunner运行场景的虚拟用户总数
2、Start XX Vusers: YY Vusers every <00:00:00> (HH:MM:SS)
LoadRunner按指定的时间间隔,逐步运行指定数量XX个Vusers,也就是说LoadRunner运行指定数量的一组Vusers,并且等待指定时间后运行指定下一组Vuser.
3、点击Previous 或Next可切换其它要编辑的action.
注意:
1.当且仅当Vuser处于Ready状态时,LoadRunner才开始运行Vuser.
2.Basic运行模式下默认运行所有用户
4) Duration
持续时间
Real-world schedule
Basic schedule
1、Run until completion
按Controller中Run-time settings -> logic中的迭代次数进行迭代,迭代完成则停止运行。
2、Run for x days and xx:xx:xx
忽略Run-time settings -> logic中设置的迭代次数,重复迭代运行脚本的action,直到时间结束为止, 也就是说,此处设置的持续时间的优先级高,
也就是说:
1、即使你指定了迭代次数,但是运行时间没有结束之前,还是会一直迭代,所以实际迭代次数可能大于你设置的迭代次数;
2、还有一种情况是,迭代次数还没完,但是运行时间已经到了,此时会将当前执行的Action执行完,停止迭代,此种情况下实际迭代次数小于你设置的迭代次数。
3、Run indefinitely
无限运行
C. 从Actions表格中添加一个action到schedule
步骤1:打开添加Action对话框
方法1、在指定action后插入一个action,选择这个action并点击Add Action After
方法2、在最后一个action后添加一个action,在Action表格中双击最后一行
步骤2:在Add Action对话框中,定义新的action
注意:这里的Start Vuser数量的设置,会改变上方的组或脚本的虚拟用户数量Quatity
步骤3:点击Apply.
步骤4:继续添加另一个action,点击Add Another Action并重复步骤2,3
D. 从schedule graph中添加action
你可从schedule graph中添加Start Vusers, Duration, and Stop Vusers actions,通过把一个action拆分成两个或者在最后一个action后添加一个action
a) 把一个action拆分成两个:
1. 点击编辑模式按钮,确保graph处于编辑模式
方法2、在最后一个action后添加一个action,在Action表格中双击最后一行
步骤2:在Add Action对话框中,定义新的action
注意:这里的Start Vuser数量的设置,会改变上方的组或脚本的虚拟用户数量Quatity
步骤3:点击Apply.
步骤4:继续添加另一个action,点击Add Another Action并重复步骤2,3
2. 选择代表你要拆分的action的线条
Tip: 选择线条,会自动高亮左侧的action
3. 点击Split Action按钮,选中的线条自动被拆分成成两段.
在Actions表格中,原始的action分成两个相等的action,每个代表原始action的一半,如下
4. (可选)编辑每个actions
E. 在graph中编辑(仅real-world schedules可用)
双击代表action的线条,或者graph处于编辑模式时,选择线条并拖拽
F. 复制一个组的schedule到另一个组(仅Goup Schedule可用)
当方案类型为Vuser group时,你可以复制一个Vuser group的方案设置给到另一个Vuser组
注意:方案设置的复制包含方案运行模式(basic 或 real-world)及方案actions集。
例:
从group1复制schedule到group2并应用,在Scenario Groups中点击脚本,然后点击Copy Schedule Settings From(见下图红色圈圈),选择group_1,确定
G. 定时启动场景
在Schedule定义区,点击Start Time按钮并选择啥时候启动场景。
注意:这里设置完成后还要点击运行场景,然后才会在设置的时间进行执行。
Loadrunder场景设计篇——定时器(schedule)的更多相关文章
- 【转】Loadrunder场景设计篇——添加windows Resource计数器和指标说明
转至:https://www.cnblogs.com/langhuagungun/p/8488270.html Loadrunder场景设计篇——添加windows Resource计数器和指标说明 ...
- Loadrunder场景设计篇——手工场景设计
概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主要是通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载 ...
- Loadrunder场景设计篇——IP欺骗
适用协议 LoadRunner的多ip功能允许运行在单一负载生成器上的Vuser可以通过多ip被识别.服务器和路由识别这些vuser为来自不同负载生成器上. 2 在负载生成器(load gene ...
- Loadrunder场景设计篇——添加windows Resource计数器和指标说明
目的 监控要测试的windows服务器的资源使用情况 A.添加计数器步骤 1.添加视图,方法双击.拖动左侧的Windows Rescources到右边图形区,或右键右侧已有视图,Open a New ...
- Loadrunner场景设计篇——负载生成器
1 简介 当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator). 所谓的负载生成器(Load Generator)就是执行Vuser脚本,运行Vus ...
- loadrunner 场景设计-手工场景方案(Schedule)设计
场景设计-手工场景方案(Schedule)设计 by:授客 QQ:1033553122 A. 定义方案schedule 在 Scenario Schedule面板中,选择一个方案schedule, ...
- loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2
loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2 ---------------------------接Part 1------------------------ ...
- loadrunner 场景设计-手工场景方案(Schedule)设计 Part 1
参考:http://blog.sina.com.cn/s/articlelist_5314188213_1_1.html loadrunner 场景设计-手工场景方案(Schedule)设计 Part ...
- cocos2dx基础篇(6) 定时器schedule/update
定时器在大部分游戏中是不可或缺的,即每隔一段时间,就要执行相应的刷新体函数,以更新游戏的画面.时间.进度.敌人的指令等等.cocos2dx为我们提供了定时器schedule相关的操作.其操作函数的定义 ...
随机推荐
- 第二百二十八节,jQuery EasyUI,TreeGrid(树形表格)组件
jQuery EasyUI,TreeGrid(树形表格)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 TreeGrid(树形表格)组件的使 ...
- jquery取iframe中元素
采取方法: $("#iframe_path").contents().find(".select_path_hide").val(); DOM方法:父窗口操作I ...
- hdu 3001(状压dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3001 思路:这道题类似于TSP问题,只不过题目中说明每个城市至少要走一次,至多走2次,因此要用到三进制 ...
- java 环境变量classpath的作用
http://www.cnblogs.com/xwdreamer/archive/2010/09/08/2297098.html http://www.cnblogs.com/panxuejun/p/ ...
- python入门(二):数据类型和结构
Python3 中有六个标准的数据类型:tips:用type()函数或者是isinstance(x,int)来判断数据类型,然后for i in 来遍历集合1.Number(数字支持 int.floa ...
- Django model :add a non-nullable field 'SKU' to product without a default; we can't do that
You are trying to add a non-nullable field 'SKU' to product without a default; we can't do that (the ...
- SurvivalShooter学习笔记(八.敌人管理器)
敌人管理器:管理敌人的随机出生点创建 在场景中建立几个空物体,作为敌人的出生点 public class EnemyManager : MonoBehaviour { public PlayerHea ...
- 面试题思考:Java 8 / Java 7 为我们提供了什么新功能
Java 7 的7个新特性 1.对集合类的语言支持: 2.自动资源管理: 3.改进的通用实例创建类型推断: 4.数字字面量下划线支持: 5.switch中使用string: 6.二进制字面量: 7.简 ...
- 显示所有APP的进程详细信息(进程ID、进程所在UID、进程占用内存、进程名)
main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and ...
- Jmeter - 分布式部署负载机
1. 原理图: 2.具体操作 ① 负载机 安装JDK.Jmeter[版本与Controller 调度机一致] ② 配置环境变量 ③ 负载机自定义端口号 a.进入Jmeter的bin目录,找到Jmete ...