LoadRunner性能测试指挥中心Controller 《第四篇》
一、设计场景
1、设计性能测试场景
Controller有两个视图:设计(Design)视图和运行(Run)视图。启动Controller,在Controller主界面里,我们可以看到这两个视图。
1、设计视图
设计视图显示场景中的所有Vuser组/脚本的列表、负载生成器(Load Generator)计算机一级分配给每个组/脚本的Vuser数。该视图还显示有关场景计划(手动场景)或目标(面向目标的场景)的基本信息。单击"Design"选项卡。
2、运行视图
场景一旦开始运行,Controller自动切换到运行视图,运行视图显示有关运行的Vuser和Vuser组的信息以及联机监视器图。单击"Run"选项卡,我们可以看到运行视图。
设计性能测试场景主要是在设计视图中完成的,我们知道在性能测试中,场景的设计是十分重要的,它决定整个性能测试的成败。
在设计视图中,场景有两种类型:手工场景和面向目标场景,其中手工场景还有百分比模式。
(1)、手工场景(Manual Scenario):创建虚拟用户组,设置虚拟用户数目以及其他Run-time信息。
手工场景是我们常用的设计模式,负载测试就常用它。手工场景符合我们的性能测试常规思路:
- 第一步,设置虚拟用户的数目、脚本以及他们运行的方式;
- 第二步,运行,得出服务器的响应时间等指标。
手工场景还有一个百分比模式:在百分比模式里,只需设定总用户数,Controller将总用户数以百分比的方式分派去执行不同的脚本。
(2)、面向目标场景(Goal-Oriented Scenario):如果说手工场景是一板一眼的因果关系,而面向目标场景就是一个稍微复杂一些的闭环回馈关系了。在面向目标场景中,我们先定义测试要达到的目标,然后LoadRunner自动基于这些目标创建场景,运行过程中,会不断地把结果和目标相比较,以决定下一步怎么走。
2、创建手工场景
1、创建虚拟用户组
虚拟用户组是执行同一脚本的虚拟用户的集合。因此在Controller中,添加了一个脚本就是添加了一个虚拟用户组。
如果在已经打开的场景中添加脚本,只需点击"Script Path"下的下拉箭头即可。
2、配置虚拟用户
首先在"Quanity"下设置虚拟用户数。
3、详细配置虚拟用户
单击右边的"Vusers"按钮,即可详细配置每个虚拟用户的设置,包括执行的脚本、分配的Load Generator。
4、设置集合点
如果在VU脚本中设置了集合点,Controller默认的集合点策略是:在所有Running状态的Vuser达到集合点后才释放。如果要改变集合点策略,可按如下步骤执行:
(1)、在"Scenario"菜单中选中"Rendezvous"。
(2)、打开设定同步点的详细设置对话框。
(3)、单击"policy"按钮,进入策略设置窗口。
Policy有三个选项:
- 第一个选项表示所有的用户到达集合点之后,再允许等待的用户继续场景执行。
- 第二个选项表示所有正在运行的用户到达集合点之后,再允许等待的用户继续场景执行。
- 第三个选项表示当指定书目的用户到达集合点之后,就允许等待的用户继续场景执行。
Timeout的设定表示,当第一个用户到达集合点后,等待30秒,如果30秒内上面三个选项设定的释放条件满足,就继续执行场景;30秒后,就不再等待,开始释放等待的用户,继续场景执行。
5、配置虚拟用户运行时设置
也就是Run-time Settings里的设置
6、配置Load Generator
Load Generator,顾名思义,是LoadRunner的负载生成器,通俗点讲,就是Controller的"手下",Controller发号施令。Load Generator负责实施和执行。通常在一台机器上安装LoadRunner后,就自动安装了Load Generator,而一个Controller可以控制多台机器上的Load Generator,让他们同意听从指挥,共同完成任务。那么Controller在给其他机器上Load Generator分配任务之前,首先要在网络上找到它。
单击右边的"Gemerators"按钮,出现"Load Generators"窗口。
添加Load Generator后,执行"Connect"操作,使Status为Ready,表示该机器连接正常了如果为Failed,表示该机器不能连接,请检查原因。可以把这个列表保存下来,执行菜单命令即可。
7、设置网络带宽配置
默认的网络带宽配置是选择最大的网络带宽。如果在性能需求中规定了用户会通过不同的网络来使用软件系统,比如Modem、ADSL等,那么就需要在Controller的Run-time Settings中设置虚拟用户的带宽了。
- 使用"运行时设置"树中的"Netword"下的"Speed Simulation"(速度模拟)节点,可设置测试环境的调制调节器仿真。
- 使用最大带宽(Use maximun bandwidth):在默认情况下会禁用带宽仿真,并且Vuser按网络上的最大可用宽带运行。
- 使用带宽(Use bandwidth):指明Vuser要模拟的特定带宽级别。可以选择从14.4-512Kbps范围内的速度,以便模拟调制调解器、ISDN或DSL。
- 使用自定义带宽(Use custom bandwidth):指明Vuser进行模拟的带宽限制,以bps为单位指定带宽。
8、设置方案(Schedule)
设置方案主要是关于LoadRunner的加载策略,也是三种场景类型的最重要区别之处。设置方案主要有如下设置项。
1、Initialize
第一个选项是场景开始运行时,同时加载所有用户;
第二个选项是场景开始时,每隔多长时间增加多少用户;
第三个选项是在场景开事前就加载好每个用户;
2、Start Vusers
以多少个用户开始;
(1)、同时启动所有用户;
(2)、每隔多长时间增加多少个用户;
3、Duration
第一个选项,每个用户运行一次场景就停止;
第二个选项,运行持续时间。
4、Stop Vusers
停止(多少)用户;
1、同时停止所有用户;
2、每隔多长时间停止多少个用户;
不学了。
LoadRunner性能测试指挥中心Controller 《第四篇》的更多相关文章
- LoadRunner性能测试中Controller场景创建需注意的几点
在LR工具做性能测试中,最关键的一步是Controller场景的设计,因为场景的设计与测试用例的设计相关联,而测试用例的执行,直接影响最终的测试结果是怎么的,因此,我们每设计一种场景,就有可能是一个测 ...
- LoadRunner性能测试巧匠训练营
<LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期: ...
- LoadRunner性能测试笔试/面试题
客户交付一个性能测试项目,请阐述你的实施流程. 测试设计阶段: 1)了解被测系统的性能需求,定义测试目标和范围: 2)了解系统的技术信息,如系统架构等: 3)确定测试方案.进度安排,并制定测试计划,场 ...
- “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现) 一.前三篇的内容是否对您有帮助呢?如果有的话,请您继续关注这篇吧,这篇主要是实现”用户管理“的 ...
- 如何学习LoadRunner性能测试?
最近组内同事针对性能测试LR的脚本部分做了介绍,是个不错的分享.会后反思自己也有很长一段时间没做性能测试了,根据以往的经验,有必要做些整理和补充,本文主要介绍一些Loadrunner性能测试的学习方法 ...
- LoadRunner性能测试入门教程
javaweb性能测试那些事 一:什么是javaweb性能测试: 二:javaweb性能测试基本流程 三:javaweb性能测试常用指标: 1:响应时间:2-5-8 原则 2:吞吐量 3:资源使用率 ...
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第四篇:传递表单数据
摘要 本文将完成我们“MVC公告发布系统”的公告发布功能,以此展示在ASP.NET MVC中如何传递处理表单的数据. 前言 通过前几篇文章,我们已经能比较自如的使用ASP.NET ...
- 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- 第四篇 Entity Framework Plus 之 Batch Operations
用 Entity Framework 进行 增,删,改.都是基于Model进行的,且Model都是有状态追踪的.这样Entity Framework才能正常增,删,改. 有时候,要根据某个字段,批量 ...
随机推荐
- SG函数模板
这篇虽然是转载的,但代码和原文还是有出入,我认为我的代码更好些. 转载自:http://www.cnblogs.com/frog112111/p/3199780.html 最新sg模板: //MAXN ...
- dede各种运用[转]
文章正文页常用函数: 1.相应文章上下文调用: {dede:prenext function="str_replace(' 下一篇:','<'.'br'.' />下一篇: 2.文 ...
- vim 学习日志(3):跳到行尾、行首、文件尾、文件首、加密
vi操作: 1.跳到文本的最后一行:按“G”,即“shift+g” 2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”. 3.跳到第一行的第一个字符:先 ...
- javascript中标签与break和continue的配合使用
var num = 0; outermost: for (var i=0; i<10; i++) { for (var j=0; j<10; j++) { if (j==5 || i==5 ...
- db2删除数据库
1.断开所有连接 db2 stop application all force 2.停止数据库 db2stop 3.删除数据库(系统管理员权限下)db2 drop 数据库name
- JAVA 99乘法表实例
实例: public class Test{ public static void main(String[] args){ for(int i=1;i<=9;i++){ for(int j=1 ...
- Android NFC开发概述
NFC手机相比普通手机来说,有以下3个附加功能: 1.可以当成POS机来用,也就是“读取”模式 2.可以当成一张卡来刷,也就是NFC技术最核心的移动支付功能 3.可以像蓝牙.Wi-Fi一样做点 ...
- jdk之jhat命令
jhat命令 -- JavaHeap Analyse Tool 用途:是用来分析Java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言第一步:导出堆 ...
- [ActionScript 3.0] 根据xml属性查找相应xml节点,递归函数。
import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; var xml:XML; var ...
- [SQL] 待整理3
Create proc procedureName @orderId int ,@name varchar() ,@count int as begin Declare @id int declare ...