在场景设置的时候会有两种场景设置方式:

1,手动模式(Manual Scenario) 2.面向目标的场景设置模式(Goal Oriented scenario)

其中手动模式使用较多,而且灵活应用,能够更灵活的模拟实际的性能测试;这里讲目标场景设置;

首先,选择Goal Scenario

对其进行相关设置

在面向目标的方案中,用户可以定义自己希望实现的测试目标,lr将根据第你故意的目标自动为用户创建一个方案。

目标可以分为五种:VUser,pages per minute, transaction per second, hits per second,trasaction response time;

Virtual Users Goal: 如果需要测试多少人可以同时运行Web应用,那么推荐定义Virtual Users Goal. 运行定义该目标类型的场景和运行Manual 类型的场景类似。

Hits per Second: 如果想测试Web Server的真正实力,推荐定义目标类型为:Hits per Second,Pages per Minute 或者Transactions per Second,这些类型都需要制定一个虚拟用户的最大值和最小值的范围。Controller试图使用最少的虚拟用户来达到定义的目标。如果使用最少的用户,不能达到目标,Controller会自动增加用户数,知道定义的最大值人数。如果使用了最多的虚拟用户数,定义的目标还没有实现,那么需要增加最大用户数,重新执行场景。(这里我不知道这样情况下事停止还是系统会有提示?)

Transactions Response Time: 如果想知道在多少用户并发访问网站时,事务的响应时间达到性能指标说明书中规定响应时间的最大值,那么推荐使用Transactions Response Time类型,指定需要测试的事务的名称,虚拟用户数量的最大值和最小值,还有预先定义好的事务的响应时间。在场景运行中,如果使用了最多的虚拟用户,还不能达到定义的最大响应时间,说明Web Server还有能力接纳定义的虚拟用户的最多数量;如果在使用了部分虚拟用户,就达到了定义的最大的响应时间,或者LoadRunner提示如果使用更多数量的虚拟用户时将要超过最大响应时间,那么需要重新设计或者修补应用程序,同时可能需要升级WEB SERVER的软硬件。

理解各种类型:

如果你定义的类型是Pages per Minute, Hits/Transactions per Second,Controller首先用定义的目标/最小用户数,得到一个值,就可以确定每个用户应该达到的Hits/Transactions per Second或是Pages per Minute,然后Controller开始按照以下的策略加载用户:

1.如果选择的是自动加载虚拟用户,LR会首先加载50个用户。如果定义的最大用户数小于50,LR就会一次性加载所有的虚拟用户。

2.如果选择的是在场景运行一段时间后达到目标,LR就会尝试在定义的这段时间内达到目标,根据时间限制和计算出的每个用户的hits, transactions或者pages,LR确定第一批加载用户多少。(不太理解这个)

3.如果选择的是按照一定的阶段达到目标(也就是先在X长时间内达到y pages/hits,然后再达到下一个目标),lr计算每个用户应该达到的数字后,再确定第一批加载多少用户。

每加载一批用户后,LR会判断是否达到这批用户的目标,如果这批用户的目标没有达到,LR重新计算每一个用户应该达到的目标数字后,重新调整下一批加载用户的数量,默认情况下,LR每两分钟加载一批用户。如果Controller加载了最多数量的用户还没有达到预定的目标,LR会重新计算每个用户的目标,然后同时运行最大数量的用户,尝试达到预定的目标。

如果出现以下情况,pages per minute,hits/transactions per second类型的场景会置于Failed状态:

1.controller使用了指定的最大数量的用户,并且两次都没有达到目标

2.所有的用户运行都失败

3.没有足够的load generators机器(现有的机器已经超载运行的情况下)

4.Controller增加了几批用户后,pages per minute 或者Hits/transaction per second 没有增加

5.Controller记载第一批用户后,定义的目标没有被捕捉到

【Automatic】:指示Controller运行一批中默认数量的Vuser(每两分钟运行50个Vuser,或者在定义的最大Vuser数少于50时运行所有的Vuser)。

【Reach target number of hits per second after XXX HH:MM:SS】:用来选择Controller达场景运行多久内达到预期目标时间。

【Step up by XXX hit per second】(对于每秒事务数和事务响应时间目标类型不可用):用来选择Controller达到定义的目标的速度(一定时间内的虚拟用户数/单击次数/页面数)。

面向目标的场景设置--Goal-Oriented Scenario的更多相关文章

  1. loadrunner基础学习笔记七-面向目标场景

    部署应用程序之前,要执行验收测试以确保系统能够承担预期的实际工作量. 可以为想要生成的每秒点击次数,每秒事务数或事务响应时间设置目标 loadrunner将使用面向目标的场景自动生成所需的目标,当应用 ...

  2. 场景设计以及Manual Scenario和Goal-OrientedScenario的区别

    Manual Scenario 手工场景 主要是设计用户变化,通过手工场景可以帮助我们分析系统的性能瓶颈.手动方案:如果要生成手动方案,请选择此方法.通过创建组并指定脚本.负载生成器和每组中包括的 V ...

  3. LoadRunner场景设置

    创建负载测试场景场景目标:模拟10家旅行社同时登陆.搜索航班.购买机票.查看航班路线并退出打开Controller并创建一个新场景1.打开HP LoadRunner2.打开Controller在Loa ...

  4. loadrunner中面向目标场景的设计

    在一个面向目标的方案中,可以定义五种类型的目标:虚拟用户数.每秒点击次数(仅 Web Vuser).每秒事务数.每分钟页面数(仅 Web Vuser)或方案的事务响应时间.使用“编辑方案目标”对话框可 ...

  5. LR之面向目标场景

    1.目标类型 2.设置目标

  6. 性能测试基础---LR场景设置

    ·场景设置. 性能测试场景依托于性能测试脚本,但是又独立于脚本. 所谓场景(scenario),就是用来模拟多用户运行性能测试脚本的情形,是来源于我们对于业务场景的分析的. 性能测试对于业务场景的分析 ...

  7. LR工具使用之场景设置

    LR工具使用之场景设置 一.操作步骤 1.运行loadrunner,进入运行负载测试控件:

  8. LoadRunner的场景设置

    loadrunner场景设置的方法: 1.逐步增加用户数,分多次去运行场景.比如:第一次运行50并发,第二次运行100并发…… 2.针对同一个脚本设置多个组,使用组策略(点击Edit Schedule ...

  9. LR 场景设置

    LR 场景设置group:多个脚本按照独立设置模式跑,各个脚本可以单独设置虚拟用户.运行时间scenario:多个脚本之间按照相同模式跑,将总的虚拟用户数按照一定比例分配给各个脚本 schedule ...

随机推荐

  1. Springboot+shiro配置笔记+错误小结

    软件152 尹以操 springboot不像springmvc,它没有xml配置文件,那该如何配置shiro呢,其实也不难,用java代码+注解来解决这个问题.仅以此篇记录我对shiro的学习,如有对 ...

  2. Spring整合jdbc编程

    一.Spring对Jdbc的支持    Spring为了提供对Jdbc的支持,在Jdbc API的基础上封装了一套实现,以此建立一个 JDBC 存取框架. 作为 Spring JDBC 框架的核心, ...

  3. php array_mutisort

    PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...

  4. SQL Server去重和判断是否为数字——OBJECT_ID的使用

    sql 语句查询时去掉重复项: 使用 distinct 去掉重复项: 首先可以明确的看到存在重复的名字,那么接下来就让我们试试使用 distinct 去重吧. select distinct * fr ...

  5. JVM内存分配原理

    堆栈常量池等内存分配原理详解 存储的方式: 寄存器 栈(stack) 堆(heap) 静态域 常量池 非RAM存储 JAVA寄存器 最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.  ...

  6. XDU 1037 倍流畅序列(字符串匹配+贪心)

    题目描述 对于一个0,1串s, 从左端开始读取它的0获得序列s0,从右端开始读取它的1获得s1,如果s0与s1同构,则称s为倍流畅序列.例如:011001是一个倍流畅序列, 因为:s0 = 0__00 ...

  7. -webkit-box

    父容器 display: flex; justify-content: center;/*主轴*/ align-items: center; /*交叉轴*/ display: -webkit-box; ...

  8. QML中的state 状态

    QML中的状态其实很好理解,任何事物在某一事件都是有一个状态的. 比如你看到的一个窗口,这个时候里面的文字和图片正处于某个状态中.比如一个超链接,你点击了,发现颜色变了,你按了Ctrl+A,整个窗体好 ...

  9. Python 实例2—购物车

    老男孩教学学习笔记 """启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒可随机退出,退出 ...

  10. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块等的加载顺序

    转自:http://blog.csdn.net/mrzhoug/article/details/51581994 一.在Java中,使用”{}”括起来的代码称为代码块,代码块可以分为以下四种: 1.普 ...