基准测试:单用户测试

一、归纳基准测试:

方法一:单用户循环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基准测试流程的更多相关文章

  1. Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试

    本文是本人前一段时间做一个简单Java监控工具调研总结,主要包括VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,以及对Java微基准测试的简单介绍, ...

  2. Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试【转】

    Java监控工具介绍,VisualVm ,JProfiler,Perfino,Yourkit,Perf4J,JProbe,Java微基准测试[转] 本文是本人前一段时间做一个简单Java监控工具调研总 ...

  3. JuiceFS 性能评估指南

    JuiceFS 是一款面向云原生环境设计的高性能 POSIX 文件系统,任何存入 JuiceFS 的数据都会按照一定规则拆分成数据块存入对象存储(如 Amazon S3),相对应的元数据则持久化在独立 ...

  4. CI框架的引导流程以及基准测试类

    一[CI]框架的引导流程了解一下,并掌握如何新增自己的扩展类库   http://www.cnblogs.com/ohmygirl/p/CIRead-4.html // CI框架源码阅读笔记4 引导文 ...

  5. 一篇文章看懂TPCx-BB(大数据基准测试工具)源码

    TPCx-BB是大数据基准测试工具,它通过模拟零售商的30个应用场景,执行30个查询来衡量基于Hadoop的大数据系统的包括硬件和软件的性能.其中一些场景还用到了机器学习算法(聚类.线性回归等).为了 ...

  6. JavaScript的基准测试-不服跑个分?

    原文:Bulletproof JavaScript benchmarks 做JavaScript的基准测试并没有想的那么简单.即使不考虑浏览器差异所带来的影响,也有很多难点-或者说陷阱需要面对. 这是 ...

  7. CI加载流程小结

    无聊,决定水一把. CI(CodeIgniter)是我最早接触的一个框架,到现在也只是用了其中一点零碎的方法.一直想对其流程做个小结,却总是因各种各样的“理由”挨着.看见别人图表齐上阵,没那耐心,就从 ...

  8. Java 8 的 JVM 有多快?Fork-Join 性能基准测试

    Java 8 已经发布一段时间了,许多开发者已经开始使用 Java 8.本文也将讨论最新发布在 JDK 中的并发功能更新.事实上,JDK 中已经有多处java.util.concurrent 改动,但 ...

  9. JavaScript的基准测试

    JavaScript的基准测试 原文:Bulletproof JavaScript benchmarks 做JavaScript的基准测试并没有想的那么简单.即使不考虑浏览器差异所带来的影响,也有很多 ...

随机推荐

  1. 鸿蒙内核源码分析(消息队列篇) | 进程间如何异步传递大数据 | 百篇博客分析OpenHarmony源码 | v33.02

    百篇博客系列篇.本篇为: v33.xx 鸿蒙内核源码分析(消息队列篇) | 进程间如何异步传递大数据 | 51.c.h .o 进程通讯相关篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 自旋锁 ...

  2. IE浏览器设置兼容性

    因为IE浏览器不兼容高版本的Jquery.Bootstrap等JS框架,导致页面在Google浏览器和在IE的显示完全不一样,所以需要对页面进行兼容性设置 <!--设置兼容性--> < ...

  3. mysql从零开始之MySQL 创建数据库

    MySQL 创建数据库 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 ...

  4. 低代码BPM平台

    为了做出明智的决策并为客户提供服务,员工需要在正确的环境中使用正确的工具和访问关键信息的权限.但是,当业务关键信息分散在多个现成的和自定义编码的应用程序中时,员工效率会降低,客户体验也会受到影响. 低 ...

  5. 树上DFS序在换根时的变化规律

    其中\(12324215\)为循环链表,可用双倍空间存(如图)

  6. 题解 CF1103E Radix sum

    题目传送门 题目大意 给出一个\(n\)个数的序列\(a_{1,2,..,n}\),可以选\(n\)次,每次可以选与上次选的相同的数,问对于\(\forall p\in[0,n-1]\)满足选出来的数 ...

  7. 题解 「2017 山东一轮集训 Day5」苹果树

    题目传送门 题目大意 给出一个 \(n\) 个点的图,每个点都有一个权值 \(f_i\) ,如果 \(f_i=-1\) 表示 \(i\) 这个点是坏的.定义一个点是有用的当且仅当它不是坏的,并且它连的 ...

  8. 洛谷4248 AHOI2013差异 (后缀数组SA+单调栈)

    补博客! 首先我们观察题目中给的那个求\(ans\)的方法,其实前两项没什么用处,直接\(for\)一遍就求得了 for (int i=1;i<=n;i++) ans=ans+i*(n-1); ...

  9. [云计算]Windows Server 2012 R2 配置AD/DNS/DHCP服务

    目录 一.前期准备 1.1 安装Windows Server 2012 R2 1.2 关闭防火墙 1.3 改变计算机名 1.4 挂载并安装Tools 1.5 重启并配置网卡 1.6 添加角色和功能 1 ...

  10. Using C++ in VS Code

    Using C++ in VS Code ‍ Get Started with C++ and Windows Subsystem for Linux in Visual Studio Code ‍ ...