当前位置: 首页 > news >正文

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报告&#xff0c…...

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&#xf…...

2023年Q1业绩增长背后,迪士尼亟待扭转流媒体亏损困局

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

LKWA靶场通关和源码分析

文章目录一、Blind RCE&#xff1f;二、XSSI三、PHP Object Injection四、PHP Object Injection(cookie)五、PHP Object Injection(Referer)六、PHAR七、SSRF八、Variables总结一、Blind RCE&#xff1f; 源码&#xff1a; <?php include("sidebar.php"); /***…...

logcpp demo

step1&#xff1a;nug下载log4cppstep2&#xff1a;实现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上手

之前看有数据显示国内的三高人群越来越年轻&#xff0c;很多人不到三十就有了高血压、高血糖的问题&#xff0c;埋下了不小的健康隐患&#xff0c;加上前阵子的疫情管控放松&#xff0c;人们了解到了新冠病毒对心脏负担的认知&#xff0c;预防慢病被大众提上了日程&#xff0c;…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...