LoadRunner
目录
为什么需要性能测试
性能测试实施流程
常见的性能测试指标
性能测试分类
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、吞吐量表
将吞吐量和点击数结合,发现点击数和吞吐量的图像大致相同,并且点击量超前于吞吐量,也就是点击量增大了,会导致吞吐量增大
相关文章:

LoadRunner
目录 为什么需要性能测试 性能测试实施流程 常见的性能测试指标 性能测试分类 1、一般性能测试 2、负载测试 3、压力测试 LoadRunner LoadRunner包括三个组件 VUG Controller Analysis 一个网站或者app的性能差,用户的使用体验就会很差 常见的性能问题&a…...
笔试题-2023-芯原-数字前端设计or验证【纯净题目版】
回到首页:2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.08.28应聘岗位:数字前端设计/验证工程师笔试时长:60min笔试平台:nowcoder牛客网题目类型:企业知识题(2道)、智力题(5题)、技术…...

【软件测试】资深测试工程师说:你真的能做好bug分析吗?
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 bug报告,…...

NLP模型检查英语语法错误
当NLP模型产生了语法错误,怎么办?比如,He wants that you send him an email.没关系,现在可以像小时候的英语老师,改作文一样简单。只要装上一个专门纠正语法错误的库就可以,还是毫秒钟就可揪出来的那种。这…...

Echarts的Category轴滑动
Echarts的Category轴滑动 效果,滚轮上下可拖动 配置项 dataZoom: [// {// // disabled: false,// start: 100, //默认为0// end: 80, //默认为100// // startValue: [xArr.length - 1],// // endValue: [xArr.length - 4],// type: slide…...

04 react css上下浮动动画效果
react css上下浮动动画效果html原生实现上下浮动react 实现上下浮动思路分析实现步骤1.引入useRef2.在所属组件内定义—个变量3.在按钮上添加事件4.定义点击事件对window.scrollTo()进行了解:在react中实现效果图:html原生实现上下浮动 我们有一个导向箭…...
关于线程池
是什么? 线程池是一种多线程处理形式 作用: 减少每次获取和结束资源的消耗,提高对资源的利用率。 线程池,顾名思义就是事先创建若干个可执行的线程放入一个容器(池)中,需要的时候从池中获取线程…...

【GPLT 二阶题目集】L2-004 这是二叉搜索树吗?
参考文章:L2-004. 这是二叉搜索树吗?-PAT团体程序设计天梯赛GPLT 作者:柳婼(非常感谢!!!) 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于…...

Python Numpy基础教程
本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy Numerical Python,它是Python中科学计算的核心库,可以高效的处理多维数组的计算。并且,因为它的许多底层函数是用C语言编…...

常见HTTP请求错误码大全
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。 响应码分五种类型,由它们的第一位数字表示: 1xx:信息,请求收到,继续处理 2xx:成功,行为被成功地接受、…...
重保期间如何「快速」构建内容安全治理体系?
国际会议、国家会议、大型活动、节日庆典等重要时期,往往也是国内外各类攻击组织活跃的高峰期,大量政企机构的互联网展示窗口都会成为网络攻击的重要目标。 网络攻击方式不但有常见的SQL注入攻击、DDoS攻击等破坏方式,更有开始向恶意篡改方式…...

用Qt开发的ffmpeg流媒体播放器,支持截图、录像,支持音视频播放,支持本地文件播放、网络流播放
前言 本工程qt用的版本是5.8-32位,ffmpeg用的版本是较新的5.1版本。它支持TCP或UDP方式拉取实时流,实时流我采用的是监控摄像头的RTSP流。音频播放采用的是QAudioOutput,视频经ffmpeg解码并由YUV转RGB后是在QOpenGLWidget下进行渲染显示。本…...

第七节 平台设备驱动
在之前的字符设备程序中驱动程序,我们只要调用open() 函数打开了相应的设备文件,就可以使用read()/write() 函数,通过file_operations 这个文件操作接口来进行硬件的控制。这种驱动开发方式简单直观,但是从软件设计的角度看&#…...

代理模式详解
本文首更于《从零开始手把手教你实现一个简单的RPC框架》 。 1. 代理模式2. 静态代理3. 动态代理 3.1. JDK 动态代理机制 3.1.1. 介绍3.1.2. JDK 动态代理类使用步骤3.1.3. 代码示例 3.2. CGLIB 动态代理机制 3.2.1. 介绍3.2.2. CGLIB 动态代理类使用步骤3.2.3. 代码示例 3.3. …...

根据报告20%的白领在一年内做过副业,你有做副业吗?
现在大部分人收入单一,收入都是来源于本职工作,当没有了工作就没有了收入的来源,而生活压力又很大,各种开支,各种消费。所以很多人想要增加收入来源,增加被动收入,同时通过副业提升自己的价值和…...

第二十三周周报
学习内容: 修改ViTGAN代码 学习时间: 2.3-2.10 学习产出: 现在的效果 可以看到在700k左右fid开始上升,相比vitgan,改的vitgan鉴别器loss有所下降,但是fid没有降下来,最好为23.134…...

2023年Q1业绩增长背后,迪士尼亟待扭转流媒体亏损困局
重新执掌迪士尼后,鲍勃伊格尔交出了一份表现尚可的“答卷”。 图源:迪士尼 美东时间2023年2月8日,迪士尼披露了2023财年Q1财报,营收为235.1亿美元,同比增长8%;持续经营净利润13亿美元,同比增长11%。受此利…...

LKWA靶场通关和源码分析
文章目录一、Blind RCE?二、XSSI三、PHP Object Injection四、PHP Object Injection(cookie)五、PHP Object Injection(Referer)六、PHAR七、SSRF八、Variables总结一、Blind RCE? 源码: <?php include("sidebar.php"); /***…...
logcpp demo
step1:nug下载log4cppstep2:实现demo#include <iostream>#include <log4cpp/Category.hh>#include <log4cpp/Appender.hh>#include <log4cpp/FileAppender.hh>#include <log4cpp/Priority.hh>#include <log4cpp/Patter…...

平价款的血糖血压监测工具,用它养成健康生活习惯,dido F50S Pro上手
之前看有数据显示国内的三高人群越来越年轻,很多人不到三十就有了高血压、高血糖的问题,埋下了不小的健康隐患,加上前阵子的疫情管控放松,人们了解到了新冠病毒对心脏负担的认知,预防慢病被大众提上了日程,…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...