LoadRunner

news2024/11/27 14:32:17

目录

为什么需要性能测试

性能测试实施流程

常见的性能测试指标

性能测试分类

1、一般性能测试

2、负载测试

3、压力测试

LoadRunner

LoadRunner包括三个组件

VUG

                Controller

       Analysis


一个网站或者app的性能差,用户的使用体验就会很差

常见的性能问题:1、资源泄漏 2、查询速度慢 3、线程死锁等导致系统越来越慢

为什么需要性能测试

1、验证系统指标能否达到用户需求

  • 产品能否满足系统要求的各种指标
  • 产品能否在超出可以承载的并发数时,正常处理业务
  • 产品能否支持业务所需要的事务数量

2、检验系统在正常工作时的最大容量

3、帮助运维可以更好的规划硬件配置

性能测试实施流程

1、分析性能测试需求

2、根据性能测试的目标,设计性能测试的场景

3、开发性能测试场景和性能测试脚本

4、分析性能测试报告

5、根据性能测试报告排查和确定系统的性能瓶颈

常见的性能测试指标

1、系统/事务的平均响应时间

对于用户来说:响应时间就是从请求发出到结果显示的时间

2、事务处理效率TPS:

TPS就是系统每秒可以通过的事务数量

3、吞吐量

系统在一段时间内处理的请求数量

吞吐率:系统在1s内处理的请求数量

4、点击率:每秒用户向服务器发送的请求数量 (不是鼠标的点击次数)

5、服务器资源占用情况,内存和CPU使用率

资源包括:网络,内存,硬盘,cpu等。资源利用率高说明系统占据了大量资源,是不好的

6、并发用户数

并发:强调多个用户同时性的操作,这样会给服务器带来压力

业务层面上的并发用户数:同时向服务器请求的用户数量

后端服务器的并发用户数:同时向服务器请求的请求数量

性能测试分类

1、一般性能测试

测试在正常的条件下,系统的性能情况

2、负载测试

定义:在被测系统上不断增加压力,直到性能指标(如响应时间)超过预期指标或者某种资源使用已经达到饱和状态。可以找到系统的处理极限,为系统调优提供数据

目的:找到系统处理能力的极限

3、压力测试

定义:系统在一定饱和状态下,例如CPU、内存等饱和情况下,系统能够处理的会话能力,以及系统是否会出现错误

目的:测试在极限状态下,系统的性能表现

LoadRunner

LoadRunner是进行系统行为和性能的负载测试工具

LoadRunner和Jmeter相比,具有强大的录制功能,具有丰富和灵活的应用场景,具有丰富的报告功能

LoadRunner包括三个组件

1、Virtual User Generator:简称VUG,负责录制和生成脚本

2、controller:创建测试场景,运行和监控场景

3、Analysis:分析测试结果,出测试报告

VUG

1、项目创建

2、认识3个文件

  3、开启录制

  • 在WebTours文件下,有一个startService文件,可以开启服务
  •  在网址http://127.0.0.1:1080/WebTours/,可以看到网站
  • 在vug开始录制脚本

 这里,如果选择了IE浏览器,要设置IE浏览器网站不会在Edge浏览器打开

 这里的用户名和密码,存放在WebTours\cgi-bin\users文件夹下的jojo文件中

 用户名jojo,密码bean

脚本录制结束,就可以看到脚本

 4、脚本增强 

对脚本进行代码编写,以便于达到我们的性能测试要求

1、事务

开启事务的两种方法:1、手动开启 2、录制的时候开启

开启事务:lr_start_transaction(事务名称)    

关闭事务:  lr_end_transaction(事务名称, LR_AUTO);

 2、lr_think_time():思考时间,也就是等待时间

3、集合点

LoadRunner为了实现并发的机制,就像红路灯,红灯时让用户在路口短暂的集合,在绿灯时放行

集合点:让用户在集合点短暂集合,在特定时间放行,产生并发数

 lr_rendezvous(集合点名称);集合点应该放在Action中,集合点应该放在事务之前

4、检查点

对内容进行检查,相当于"断言"

检查点函数放在页面请求之前

 5、参数化

使用变量来填充脚本中的常量

操作步骤:双击想要替换的常量,右键,选择使用变量替换

 

 因为这里是登录,账户和密码是在jojo文件中获取的,因此username变量即使可以赋值为lyq,也是无法登录成功的,要在此目录下创建此用户的登录信息

 登陆成功

 因为是两个常量赋值给username,所以要设置循环

 

 运行脚本,可以看到两次登录

 

 Controller

Controller可以搭建测试场景

1、场景创建

第一种方式:对VUG已经编写好的脚本,创建测试场景

 第二种方式:在Controller中创建文件

 2、场景内容介绍

1、

 2、场景设置

 

 

3、场景运行

 4、场景监听

 如果想要查看系统资源图表,要进行配置

 

 

 5、运行场景

 6、从表格监控性能信息

1、虚拟用户信息表

 2、http响应表

 全程响应都是200

3、每秒事务通过数

 出现了三个图像是因为,LoadRunner中认为每一个脚本文件都是一个事务,也就是基础的init,Action,end三个脚本分别是一个事务

4、事务响应时间

 Analysis

生成测试报告

1、测试报告:主要看平均值和标准方差,标准方差值越大,说明越不稳定

 2、测试图表

1、显示每秒执行脚本的用户数量和状态,也就是可以展示哪个时间段,负载数量最大

 2、点击数

虚拟用户在测试期间,对服务器发送的http请求数目

可以根据点击次数对Vuser产生的负载量进行评估,可以将这个图跟“平均事务响应时间”表对比,

确定点击数对事务的影响,请求次数多了,响应时间应该会变长

 3、吞吐量表

将吞吐量和点击数结合,发现点击数和吞吐量的图像大致相同,并且点击量超前于吞吐量,也就是点击量增大了,会导致吞吐量增大

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/335975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW中使用.NET方法时出现错误1316

LabVIEW中使用.NET方法时出现错误1316为什么不能调用带有泛型参数的方法?LabVIEW不支持哪些.NET功能?为什么会收到以下错误:发生此错误的原因是正在调用LabVIEW中不支持的.NET功能。有关解决方法,请参阅“其他信息”部分。可以在下…

04- Matplotlib数据可视化详解 (数据库)

Matplotlib的亮点: import matplotlib.pyplot as plt # 导包plt.figure(figsize (9, 6) , 设置图片大小plt. plot(x, y), 画图绘制网格线: 线型, 颜色, 透明度plt.grid(linestyle --, color green, alpha0.75) # linestyle: 样式, color: 颜色, alpha: 透明度plt.axis(…

【堆】数据结构堆的实现(万字详解)

前言: 在上一期中我们讲到了树以及二叉树的基本的概念,有了之前的认识,今天我们将来具体实现一种二叉树的存储结构“堆”!!! 目录1.二叉树顺序结构介绍2.堆的概念及结构3.调整算法3.1向上调整算法3.1.1算法…

消息中间件-RocketMQ入门 消息发送的三种方式

消息中间件-RocketMQ入门 消息发送的三种方式消息中间件简介应用场景常用消息中间件RocketMQ核心概念入门案例-生产者和消费者代码逻辑消息发送的三种方式同步发送异步发送一次性消息消息中间件简介 应用场景 假设现在有订单微服务和积分微服务,正常请求流程之后是不是一个订…

Java程序员:为了跳槽刷完1000道真题,想不到老板直接给我升职了

同事:前阵子听说你要跳槽,现在准备得怎么样啊? 程序员T:不跳了 同事:啊?为什么? 程序员T:涨薪了呗? 同事:真的吗?涨了多少?你自己…

DAMA数据管理知识体系指南之文档和内容管理

第10章 文档和内容管理 10.1 简介 文档和内容管理是对存储在关系数据库以外的信息的采集、存储、访问以及使用的控制活动。文档和内容管理的侧重点在完整性和访问控制上。因此,它与关系数据库的数据操作管理大致相同。由于多数非结构化数据与存储在结构化文件中的…

数据存储技术复习(四)未完

1.什么是NAS。一般用途服务器与NAS设备之间有何不同。NAS是一个基于IP的专用高性能文件共享和存储设备。—般用途服务器可用于托管任何应用程序,因为它运行的是一般用途操作系统NAS设备专用于文件服务。它具有专门的操作系统,专用于通过使用行业标准协议…

151、【动态规划】leetcode ——2. 01背包问题:二维数组+一维数组(C++版本)

题目描述 原题链接:2. 01背包问题 解题思路 (1)二维dp数组 动态规划五步曲: (1)dp[i][j]的含义: 容量为j时,从物品1-物品i中取物品,可达到的最大价值 (2…

算法顶级比赛汇总

可参赛的算法比赛 阿里云天池大数据竞赛 时间:每年各个季度很多类型都会出题(比赛总时间大概为两个月) 内容:各个类型的算法题都会出、奖金上万不等 形式:在线提交(提交后在线检查结果)、离线…

简洁易懂:源码+实战讲解Redisson并发锁及看门狗自动续期

1 缘起 有一次同事问Redisson存储的键是否为hash? 我当时,没有看Redisson的相关源码,只知道应用, 所以没有办法回答,于是开始看看Redisson实现的源码, 顺便写了一个单机Redisson测试, 发现Redi…

leaflet 加载CSV数据,显示图形(代码示例046)

第046个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中加载CSV文件,将图形显示在地图上。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果; 注意如果OpenStreetMap无法加载,请加载其他来练习 文章目录 示例效果配置方式示例源代码(共74…

海思3559:BT656调试笔记

前言 海思3559a的sdk例子是没有提供BT1120和BT656视频接入的,但实际上硬件是可以支持接入的。不过前提是只支持逐行方式输入,不支持隔行视频,如果想输入PAL制式的隔行视频,请先用芯片转成逐行再接入。不知道是官方手册有意无意的忽…

弄懂自定义 Hooks 不难,改变开发认知有点不习惯

前言 我之前总结逻辑重用的时候,就一直在思考一个问题。 对于逻辑复用,render props 和 高阶组件都可以实现,同样官方说 Hooks 也可以实现,且还是在不增加额外的组件的情况下。 但是我在项目代码中,没有找到自定义 …

python | 第二章考试题和练习题

一、考试题 1、turtle八边形绘制 问题描述: 使用turtle库,绘制一个八边形。 参考代码: import turtle as t t.pensize(2) for i in range(8):t.fd(100)t.left(45) 2、turtle八角图形绘制 问题描述: 使用turtle库,…

SaleSmartly(ss客服)带你了解:缩短B2B销售周期的秘诀

缩短B2B销售周期的秘诀:即时聊天 关键词:B2B 销售;即时沟通;SaleSmartly(ss客服) 在B2B销售中,时间就是一切。在某些情况下,买家正在积极寻找即时解决方案,潜在客户以多种…

【2023unity游戏制作-mango的冒险】-开始画面API制作

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏:游戏制作 ⭐mango的冒险-开始画面制作⭐ 文章目录⭐mango的冒险-开始画面制作⭐👨‍&…

EasyCVR视频云存储的架构解析与Sharelist云存挂载方法介绍

一、什么是视频云存储? 视频云存储主要用于为上层应用提供视频文件、结构化信息、事件信息的相关服务。云存储节点分为数据文件存储节点和结构化数据存储节点。数据文件存储节点主要用于视频、图片的存储。结构化数据存储节点用于存储结构化数据并提供相关服务。 …

【学习记录】PCA主成分分析 SVD奇异值分解

在看MSC-VO代码的过程中,大量出现了奇异值分解的内容,本身对这部分了解不多,这里补一下课,参考b站up主小旭学长的视频,链接为:PCA主成分分析和SVD主成分分析 PCA主成分分析 PCA根本目的在于让数据在损失尽…

机器学习笔记之生成模型综述(三)生成模型的表示、推断、学习任务

机器学习笔记之生成模型综述——表示、推断、学习任务引言生成模型的表示任务从形状的角度观察生成模型的表示任务从概率分布的角度观察生成模型的表示任务生成模型的推断任务生成模型的学习任务引言 上一节介绍了从监督学习、无监督学习任务的角度介绍了经典模型。本节将从表…

概率论面试题1:玫瑰花

概率论面试题 1. 一个活动,n个女生手里拿着长短不一的玫瑰花,无序的排成一排,一个男生从头走到尾,试图拿更长的玫瑰花,一旦拿了一朵就不能再拿其他的,错过了就不能回头,问最好的策略&#xff1…