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以一种可重复.可预测的方式模拟典型用户的操作,对系统施 ...
随机推荐
- VsCode之使用WebView通信
之前我在这篇文章VsCode插件开发之插件初步通信 通过插件完成通信,这回我还是通过插件,只不过方式主要以在ts文件里面使用webview来进行通信. 另外在此声明,一定要好好看仔细看官方文档,国内关 ...
- 错误:“Manifest merger failed with multiple errors, see logs”
今天用Android Studio打开以前写个的项目后,出现如下错误:Manifest merger failed with multiple errors, see logs 现象是: 遇到这个问 ...
- OK6410移植linux3.3.1
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 首先修改资源代码,进入arch/arm/mach-s3c64xx/目录,在这里我们使用mini6410的资源配置 ...
- blob 对象 实现分片上传 及 显示进度条
blob对象介绍 一个 Blob对象表示一个不可变的, 原始数据的类似文件对象.Blob表示的数据不一定是一个JavaScript原生格式 blob对象本质上是js中的一个对象,里面可以储存大量的二进 ...
- 腾讯云 ubuntu 上tomcat加载项目很慢
问题原因 随机数引起线程阻塞. tomcat不断启动,关闭, 启动关闭.几次后会出现卡死状况.需很久才能加载完成 阿里云同样配置,同样系统,则很难出现卡死状况. 即使出现过几十秒后也会释放出来. 而 ...
- JS 数据处理技巧及小算法汇总
前言: 金秋九月的最后一天,突然发现这个月博客啥也没更新,不写点什么总觉得这个月没啥长进,逆水行舟,不进则退,前进的路上贵在坚持,说好的每个月至少一到两篇,不能半途而废!好多知识写下来也能加深一下自身 ...
- 过渡与动画 - 缓动效果&基于贝塞尔曲线的调速函数
难题 给过渡和动画加上缓动效果是一种常见的手法(比如具有回弹效果的过渡过程)是一种流行的表现手法,可以让界面显得更加生动和真实:在现实世界中,物体A点到B点往往也是不完全匀速的 以纯技术的角度来看,回 ...
- 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-5
来个目录吧: 第一章-入门 第二章- Entity Framework Core Nuget包管理 第三章-创建.修改.删除.查询 第四章-排序.过滤.分页.分组 第五章-迁移,EF Core 的co ...
- Mvc4_ @RenderBody、@RenderPage、@RenderSection用法
一.@RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过_Layout.cshtml布局页面的@RenderBody() ...
- ABAQUS粘弹性边界及地震荷载施加的简单实现(Matlab生成input文件)
思路 粘弹性边界因为能够考虑地基辐射阻尼而使得结构抗震的计算结果更趋于合理,所以在需要考虑结构地基相互作用的结构抗震计算时,是较为常用的地基边界处理和地震荷载施加方法.而ABAQUS软件是经常用来进行 ...