loadrunner基础学习笔记五-场景
场景目标:模拟10家旅行社同时登录、搜索航班、购买机票、查看航班路线并退出
负载测试是指在典型工作条件下测试应用程序,例如:多家旅行社同时在同一个机票预订系统中预订机票
controller提供所有用于创建和运行测试的工具
启动controller
开始-程序-hp loadrunner-loadrunner-运行负载测试
打开新建场景对话框
场景类型:
1 手动场景:可以控制正在运行的vuser数目及运行时间,另外还可以测试出应用程序可以同时运行的vuser数目
可以使用百分比模式-根据分析员指定的百分比在脚本间分配所有的vuser
本次不勾选 百分比模式
2 面向目标的场景:用来确定系统是否可能达到特定的目标如:可以根据指定的事务响应时间或每秒点击数/事务数确定目标,
然后loadrunner会根据这些目标自动创建场景

这里选择 手动场景
向负载测试添加脚本:这里使用一个vuser脚本来模拟一组执行相同操作的用户。要模拟具有更多种用户配置文件的真实场景,需要创建不同的组,运行带有不同用户设置的多个脚本。
配置场景:模拟8家旅行社同时在系统中执行操作,测试期间将添加另外两个用户
添加场景中的脚本-确定 打开场景:

Controller窗口分为三个主要部分:
场景组:配置vuser组,可以创建代表系统中典型用户的不同组,指定运行的vuser数目以及运行时使用的计算机
服务水平协议:设计负载测试场景时,可以为性能指标定义目标值或服务水平协议(sla)。运行场景时,loadrunner收集并存储与性能相关的数据。分析运行情况时,analysis将这些数据与sla进行比较,并为预先定义的测量指标确定sla状态
场景计划:设置加压方式以准确模拟真实用记行为,可以根据运行vuser的计算机,将负载施加到应用程序的频率、负载测试持续时间以及负载停止方式来定义操作
修改详细信息:
选择组记录-右键-详细

组名称 :travel_agent 点击 确定
生成 重负载:
添加脚本后,可以配置生成负载的计算机
load generator是通过运行vuser在应用程序中生成负载的计算机,可以使用多个load generator,并在每个load generator上运行多个vuser.
添加load generator:
单击load generator按钮,打开load generator对话框

这里使用本地计算机作为load generator 默认包括在场景中,状态=关闭:说明controller未连接到load generator
在典型的生产系统中,将有若干个load generator每一个拥有多个user
测试load generator连接
运行场景时,controller自动连接到load generator但也可以在运行场景之前测试连接
选择localhost并单击连接,controller会尝试连接到load generator计算机,建立连接后,状态会从关闭变为就绪-单击关闭

模拟真实加压方式:
添加load generator后,就可以配置加压方式,典型用记不会正好同时登录和退出系统。loadrunner允许用户逐渐登录和退出系统,还允许确定场景持续时间和场景停止方式
可以在controller窗口的场景计划窗格中为手动场景配置加载行为。
场景计划窗格分为三个部分:
计划定义区域
操作单元格
交互计划图

选择计划类型:场景
运行模式:实际计划
设置计划操作定义:可以在操作单元格 或交互计划图中为场景计划设置启动vuser 、持续时间 以及停止vuser操作
在图中设置定义后,操作单元格的属性会自动调整
初始化是指通过运行脚本中的vuser_init操作,为负载测试准备vuser和load generator.
在vuser开始运行之前对其进行初始化可以减少CPU占用量,并有利于提供更加真实的结果
在操作单元格中双击初始化-打开编辑操作 对话框-选择同时初始化所有vuser

指定逐渐开始:通过按照一定的间隔启动vuser,可以让vuser对应用程序施加的负载在测试过程中逐渐增加,帮助准确找出系统响应时间开始变长的转折点
双击 启动vuser-开始=8个vuser 每30s启动2个

安排持续时间-从交互计划图:
可以指定持续时间,确保vuser在特定的时间段内持续执行计划的操作,以便评测服务器上的持续负载。
如果设置了持续时间,脚本会运行这段时间内所需的迭代次数,而不考虑脚本运行时设置的迭代次数
单击交互计划图工具栏中的编辑模式按钮确保交互计划图处于编辑模式

设置持续时间=10分钟
安排逐渐关闭:建议逐渐停止vuser,以帮助在应用程序到达阈值后,检测内存漏洞并检查系统恢复情况
双击 停止vuser 每隔30秒停止2个vuser

模拟不同类型的用户:
现在已配置好负载计划,接下来需要指定vuser在测试期间的行为方式
行为是指用户在操作之间暂停的时间、用户重复同一操作的次数
打开运行时设置:
运行逻辑:用户重复一系列操作的次数
步:重复操作之前等待的时间
日志:在测试期间收集的信息的级别
如果是首次运行场景,建议生成日志消息,确保运行失败时有调试信息
思考时间:用户在各步骤之间停下来思考的时间
速度模拟:使用不同的网络连接的用户
浏览器模拟:使用不同浏览器查看应用程序性能的用户
内容检查:用于自动检测用户定义的错误

启用思考时间:选择重播思考时间-选择 使用录制思考时间的随机百分比选项,指定最小值50%最大值150%
使用录制思考时间的随机百分比模拟熟练程序不同的用户,(如果录制思考时间=4秒,随机时间是2-6秒之间的任意值)
启用日志记录:选择日志节点-选择启用日志记录-始终发送消息-扩展日志-选择服务返回的数据

点击 确定 关闭运行时设置 对话框
监控负载下的系统:定义了vuser在测试期间的行为方式,接下来就可以设置监视器了
使用loadrunner的一套集成监控器可以评测 负载测试期间系统每一层的性能以及服务器和组件的性能。
loadrunner包含多种后端系统主要组件:web、应用程序、数据库、服务器 的监控器
选择windows资源监控器:
点击 controller中的运行视图-默认windows资源图显示在图查看区域

右键单击-windows资源 图并选择添加度量
添加计算机:名称=localhost(load generator 所在计算机的服务器名称或ip地址)
平台:计算机运行的平台

默认的windows资源度量列在 服务器上的资源度量下-点击 确定 激活监控器

loadrunner基础学习笔记五-场景的更多相关文章
- C++基础 学习笔记五:重载之运算符重载
C++基础 学习笔记五:重载之运算符重载 什么是运算符重载 用同一个运算符完成不同的功能即同一个运算符可以有不同的功能的方法叫做运算符重载.运算符重载是静态多态性的体现. 运算符重载的规则 重载公式 ...
- loadrunner 基础-学习笔记一
由于公司要使用loadrunner暂停学习jmeter 1 loadrunner组件: virtual user generator:录制最终用户业务流程并创建自动化性能测试脚本,vuser脚本 co ...
- java基础学习笔记五(抽象类)
java基础学习总结——抽象类 抽象类介绍
- loadrunner基础学习笔记八-分析场景
analysis会话的目的是查找系统的性能问题,然后找出这些问题的根源 如: 是否达到了预期的测试目标,在负载下对用户终端的事务响应时间是多少 是否符合sla还是偏离了目标 事务的平均响应时间是多少 ...
- loadrunner基础学习笔记七-面向目标场景
部署应用程序之前,要执行验收测试以确保系统能够承担预期的实际工作量. 可以为想要生成的每秒点击次数,每秒事务数或事务响应时间设置目标 loadrunner将使用面向目标的场景自动生成所需的目标,当应用 ...
- Java基础学习笔记(五) - 常用的API
API介绍 概念:API 即应用编程程序接口.Java API是JDK中提供给我们使用的类说明文档,这些类将底层的代码实现封装.无需关心这些类是如何实现,只需要学习如何使用. 使用:通过API找到需要 ...
- Java基础学习笔记五 Java基础语法之面向对象
面向对象 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式.面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.例如:公司打扫卫生( ...
- loadrunner基础学习笔记六-运行负载
controller视图: 场景组 窗格:查看场景组内vuser状态,使用窗格右侧的按钮可以启动.停止和重置场景,查看各个vuser的状态,通过手动添加更多vuser增加场景运行期间应用程序的负载 场 ...
- loadrunner基础学习笔记二
virtual user generator(vugen) 在测试环境中,loadrunner在物理计算机上使用vuser代替实际用户.vuser以一种可重复.可预测的方式模拟典型用户的操作,对系统施 ...
随机推荐
- Dubbo高级篇4
https://blog.csdn.net/moonpure/article/details/52842115 线程模型 http://dubbo.io/User+Guide-zh.htm 用户指南& ...
- PAT A1145 Hashing - Average Search Time (25 分)——hash 散列的平方探查法
The task of this problem is simple: insert a sequence of distinct positive integers into a hash tabl ...
- Saltstack学习之二:target与模块方法的运行
对象的管理 saltstack系统中我们的管理对象叫做target,在master上我们可以采用不同的target去管理不同的minion,这些target都是通过去管理和匹配minion的id来做的 ...
- Java多线程编程模式实战指南(三):Two-phase Termination模式
停止线程是一个目标简单而实现却不那么简单的任务.首先,Java没有提供直接的API用于停止线程.此外,停止线程时还有一些额外的细节需要考虑,如待停止的线程处于阻塞(等待锁)或者等待状态(等待其它线程) ...
- Luogu2469 SDOI2010 星际竞速 费用流
传送门 发现它的本质是求一个费用最小的路径覆盖 最小路径覆盖是网络流23题中的一个比较典型的模型 所以考虑相似的建边 因为每一个点要恰好经过一次,是一个有上下界的网络流,故拆点,星球\(i\)拆成\( ...
- JS-JS作用域问题
一. js没有块级作用域(可以自己闭包或其他方法实现),只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到. var a=10; function fn(){ console. ...
- 大数据之Flume
什么是Flume ApacheFlume是一个分布式的.可靠的.可用的系统,用于高效地收集.聚合和将大量来自不同来源的日志数据移动到一个集中的数据存储区. 系统要求 1. JDK 1.8 或以上版本 ...
- Jmeter(三十四)_Beanshell解析并提取json响应
1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...
- 第三次作业 (一)----------------------Visual Studio 2015的安装及单元测试
这是第三周的第一个作业,Visual Studio 2015的安装及单元测试. 我的电脑之前安装过Visual Studio 2015,但是在安装过程中我从来没有留意过各种注意事项,所集正好借此作业的 ...
- #个人博客作业Week3——必应词典案例分析
第一部分 调研以及评测 一.BUG分析 1. 翻译部分原文语言检测部分 1) 症状: 当选择原文语言是简体中文时,输入英文查询,程序不报错,继续翻译,选择其他类型语言也是如此. 且如果出现这种情况 ...