loadruuner12基准测试流程
基准测试:单用户测试
一、归纳基准测试:
方法一:单用户循环5次
1、调试好脚本(加检查点,在VuGen中运行成功)
2、打开控制台,设置Run-time Settings
3、迭代次数:5
4、Pacing值:随机2~3 (每次迭代之间的时间间隔)
5、Think time: 忽略 (请求之间的时间间隔)
忽略的原因:单用户对系统压力较小,忽略与否对结果影响不大。
6、控制台(controller)--工具--选项--执行,点选“基本计划”
继续其它设置:
7、 Start Vusers: Start all Vusers simulaneously
就一个VU 默认
Duration: Run until completion 运行直到结束 默认
-> 切换到Run
开始运行场景: Start Scenario
8、全局计划---持续时间,选择“完成前一直运行”
方法二:单用户持续运行1分钟
1、调试好脚本(加检查点,在VuGen中运行成功)
2、打开控制台,设置Run-time Settings
3、Pacing值:随机2~3
4、Think time: 忽略
5、Duration: 1分钟
提示:配置好后,观察图表状态,有所变动,才修改成功。
6、当Run-time Settings中迭代和VU部署设置(Duration)有冲突时,Duration的优先级较高。
比如:Duration选择第二项,就以此为准
Run for __ days and __ (HH:MM:SS)
如果选择第一项:Run until completion 还是听Duration
只是它放权了。
Duration是一把手,让二把手看着办,此时Run-time Settings说的算。
7、测试报告中的结果,应该测试三次,取中间值。
(如:0.1秒 0.3秒 0.4秒 结果取0.3秒)
二:脚本详解:
1、测试脚本要加检查点
原因:LR报告中的验证只是针对网络层面上,服务器收到客户端发送的数据包,之后将应答包发回给客户端,但是LR不会验证应答包中数据是否正确。
案例1:对LR自带订票系统“登录”操作进行基准测试。先录制脚本,插入检查点。
先打开服务,熟悉整个业务流程;
打开VuGen -> 新建 输入URL -> 先录制登录
-> vuser_init -> 输入jojo和bean -> 开始事务 login
-> 点击Login -> 欢迎页面:
添加检查点:
选中“Welcome, jojo” 点击Insert text check 插入文本检查点
-> 结束事务login
-> Action模式 -> 点击Flights
-> 选择城市:从Denver 到 London
-> Continue -> Continue
-> 开始事务buy -> Continue -> 订单结果页面
添加检查点:
选中“Denver for London” 插入文本检查点
-> 结束事务buy
-> vuser_end模式 -> Sign Off -> 关闭浏览器 -> Stop
脚本保存:buy 再回放
web_reg_find("Text=Welcome, <b>jojo</b>,",
LAST);
web_reg_find("Text=Denver for London",
LAST);
检查点函数:web_reg_find() web_或lr_开头
reg字样的函数:注册性函数
web_submit_form() 提交表单的请求
2、对于B/S系统,LR脚本中的LR函数都是以lr_或web_开头。
(另外,还有C语言函数 strcmp)
3、web_reg_find函数,带有reg字样的函数称为:注册性函数
该类函数的特殊:必须写在相应请求之前。
4、加过检查点的脚本如果运行(回放)正确,则说明该脚本正确。
(学会调试脚本)
需求:循环订3张票
VuGen中的Run-time Settings按钮 (运行时设置)
Run Logic 运行逻辑
Iteration Count 迭代次数 默认1 改为3
注意:循环的只是Action. 次数登录仅一次
init和end脚本仅执行一次。
三、注意:
1、控制台中和VuGen中设置Run-time Settings当前区别和联系:
1)如果从控制台直接打开脚本,则脚本中Run-time Settings设置会自动显示在控制台的Run-time Settings中。(带过来)
2)如果控制台和脚本中同时设置了Run-time Settings,并且值不同,控制台的优先级高。
2、Pacing值:每次迭代之间的时间间隔。
迭代:脚本Action从第一行到最后一行。迭代一次
Pacing值越大,表示压力越小。
3、Think time: 脚本中步骤之间的时间间隔。
(请求之间的间隔)
案例:针对buy脚本,进行基准测试 (方法1:单用户循环5次)
1)调试好脚本(在VuGen中运行成功)
2)打开控制台,加载buy脚本
首先设置人数: Run Mode 单选Basic schedule模式
Quantity改为1 单用户模式
3)打开控制台Run-time Settings设置
Run Logic 迭代次数 5 (优先使用)
4)Pacing值 -- Start new Iteration 建议设置随机2~3秒
As soon as the previous interation ends 只要前一次迭代结束
关注第3项:
At fixed intervals, every 60.000 sec
random every 2.000 to 3.000 sec
fixed: 固定的 intervals 间隔
random: 随机的
5)Think time:
Ignore think time 忽略思考时间 选择 为了简单化
Replay think time 具体设置思考时间策略
-> 点击OK
继续其它设置:
Start Vusers: Start all Vusers simulaneously
就一个VU 默认
Duration: Run until completion 运行直到结束 默认
-> 切换到Run
开始运行场景: Start Scenario
loadruuner12基准测试流程的更多相关文章
- Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试
本文是本人前一段时间做一个简单Java监控工具调研总结,主要包括VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,以及对Java微基准测试的简单介绍, ...
- Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试【转】
Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试[转] 本文是本人前一段时间做一个简单Java监控工具调研总 ...
- JuiceFS 性能评估指南
JuiceFS 是一款面向云原生环境设计的高性能 POSIX 文件系统,任何存入 JuiceFS 的数据都会按照一定规则拆分成数据块存入对象存储(如 Amazon S3),相对应的元数据则持久化在独立 ...
- CI框架的引导流程以及基准测试类
一[CI]框架的引导流程了解一下,并掌握如何新增自己的扩展类库 http://www.cnblogs.com/ohmygirl/p/CIRead-4.html // CI框架源码阅读笔记4 引导文 ...
- 一篇文章看懂TPCx-BB(大数据基准测试工具)源码
TPCx-BB是大数据基准测试工具,它通过模拟零售商的30个应用场景,执行30个查询来衡量基于Hadoop的大数据系统的包括硬件和软件的性能.其中一些场景还用到了机器学习算法(聚类.线性回归等).为了 ...
- JavaScript的基准测试-不服跑个分?
原文:Bulletproof JavaScript benchmarks 做JavaScript的基准测试并没有想的那么简单.即使不考虑浏览器差异所带来的影响,也有很多难点-或者说陷阱需要面对. 这是 ...
- CI加载流程小结
无聊,决定水一把. CI(CodeIgniter)是我最早接触的一个框架,到现在也只是用了其中一点零碎的方法.一直想对其流程做个小结,却总是因各种各样的“理由”挨着.看见别人图表齐上阵,没那耐心,就从 ...
- Java 8 的 JVM 有多快?Fork-Join 性能基准测试
Java 8 已经发布一段时间了,许多开发者已经开始使用 Java 8.本文也将讨论最新发布在 JDK 中的并发功能更新.事实上,JDK 中已经有多处java.util.concurrent 改动,但 ...
- JavaScript的基准测试
JavaScript的基准测试 原文:Bulletproof JavaScript benchmarks 做JavaScript的基准测试并没有想的那么简单.即使不考虑浏览器差异所带来的影响,也有很多 ...
随机推荐
- javascript/html 禁止图片缓存
更新图片, 如果图片的url没有改变, 刷新页面之后图片会使用缓存的图片 Solutions: * js改变图片链接 (添加get参数) // 假设当前这个图片的dom对象为img img.src + ...
- 总结了下PHPExcel官方读取的几个例子
1.使用 PHPExcel_IOFactory 读取文件 $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); 2.使用一个特定的读取类,读 ...
- YbtOJ-大收藏家【分层图,最大流】
正题 题目链接:https://www.ybtoj.com.cn/contest/117/problem/2 题目大意 \(n\)个人,每人有\(a_i\)个属于自己的物品.\(m\)次交换依次进行, ...
- [源码解析] PyTorch 流水线并行实现 (4)--前向计算
[源码解析] PyTorch 流水线并行实现 (4)--前向计算 目录 [源码解析] PyTorch 流水线并行实现 (4)--前向计算 0x00 摘要 0x01 论文 1.1 引论 1.1.1 数据 ...
- 关于布隆过滤器,手写你真的知其原理吗?让我来带你手写redis布隆过滤器。
说到布隆过滤器不得不提到,redis, redis作为现在主流的nosql数据库,备受瞩目:它的丰富的value类型,以及它的偏向计算向数据移动属性减少IO的成本问题.备受开发人员的青睐.通常我们使用 ...
- 10.9 Rewrite原理
Rewrite Rewrite 通过正则表达式的使用改变URI(相对),可以同时存在一个或者多个指令,按照顺序依次对URL进行匹配和处理 Rewrite 接受到的URI不包含host地址 Rewr ...
- Dapr + .NET Core实战(十三)跨语言开发
因为基于Dapr的服务架构是不限语言的,我们来看看Dapr的跨语言开发.我们使用golang,python,.NET来实现跨语言的服务调用,拓扑如下 我们继续使用.NET 5的fontend和back ...
- 如何评估 Serverless 服务能力?这份报告给出了 40 条标准
编者按:两年前,我们还在讨论什么是 Serverless,Serverless 如何落地.如今,已经有评测机构给出了 40 条标准来对 Serverless 的服务能力进行评估,这些评估细则既是技术生 ...
- python socket 基本使用
socket通常也叫做"套接字",用于连接server client,是一个通信链的句柄,应用程序通常通过套接字向网络发出请求或应答网络请求. 就像python 处理file一样: ...
- Linux上传下载神器之 lrzsz
在开发的过程中,经常遇到 需要在 Linux 和 Windows 之间上传下载文件的情况 这时,一般都是使用 FTP 或者 WinSCP 工具进行上传下载, 虽然也能解决问题,但是这些工具需要在本地安 ...