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以一种可重复.可预测的方式模拟典型用户的操作,对系统施 ...
随机推荐
- IntelliJ IDEA2018.3 最新破解方法 无需改host
文章转自 https://blog.csdn.net/SmileLvCha/article/details/78936659 刚把idea升级到最新版,发现要重新激活,网上查了有改host的方法可行, ...
- dijkstra P4779 【模板】单源最短路径(标准版) 洛谷luogu
题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路. 然后呢? 100→60 Ag→Cu 最终,他因此没能与理想的大 ...
- Objective-C 图片处理
图片处理 编码 解码 imageNamed
- Html5 标签四 (列表)
1.有序列表 2.无序列表 3.自定义列表 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- TCP/IP协议--TCP的超时和重传
TCP是可靠传输.可靠之一体现在收到数据后,返回去一个确认.但是不能完全避免的是,数据和确认都可能丢失.解决这个办法就是,提供一个发送的重传定时器:如果定时器溢出时还没收到确认,它就重传这个报文段. ...
- sql语句 update
UPDATE ban_group AS A SET NAME ='锅炉三班' FROM hr_employee AS b WHERE b.job_no = '1394' AND A ...
- CF487E Tourists 圆方树、树链剖分
传送门 注意到我们需要求的是两点之间所有简单路径中最小值的最小值,那么对于一个点双联通分量来说,如果要经过它,则一定会经过这个点双联通分量里权值最小的点 注意:这里不能缩边双联通分量,样例\(2\)就 ...
- 转的一个Java基本功
京京肚肚撸代码 2017-04-11 00:21 很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, ...
- [Spark][Python]Mapping Single Rows to Multiple Pairs
Mapping Single Rows to Multiple Pairs目的: 把如下的这种数据, Input Data 00001 sku010:sku933:sku02200002 sku912 ...
- HNOI2018简要题解
HNOI2018简要题解 D1T1 寻宝游戏 题意 某大学每年都会有一次 Mystery Hunt 的活动,玩家需要根据设置的线索解谜,找到宝藏的位置,前一年获胜的队伍可以获得这一年出题的机会. 作为 ...