【性能测试】loadrunner12.55教程(一)--知识准备

news2024/9/24 23:28:03

目录

1.0. 前言

1.1 性能测试术语介绍

1.1.1 响应时间(Response time)

1.1.2 并发用户数

1.1.3 吞吐量(Throughput)

1.1.4 吞吐率(Throughout)

1.1.5 TPS(Transaction Per Second)

1.1.6 QPS(Query Per Second)

1.1.7 点击率(Hit Per Second)

1.1.8 性能计数器(Counter)

1.1.9 思考时间(Think Time)

1.1.10 资源利用率

1.1.11 事务

1.1.12 集合点

1.1.13 检查点

1.1.14 平均响应时间

1.2 性能测试分类

1.2.1 性能测试

1.2.2 负载测试(Load Testing)

1.2.3 压力测试(Stress Testing)

1.2.4 配置测试(Configuration Testing)

1.2.5 并发测试(Concurrency Testing)

1.2.6 可靠性测试(Reliability Testing)

1.2.7 容量测试(Volume Testing)

1.2.8 基准测试

1.2.9 稳定性测试

1.2.10 可恢复测试

1.3 HTTP我们需要知道的

1.1.1 客户端向服务器请求的HTTP方法

GET

POST

PUT

HEAD

DELETE:

OPTIONS

1.1.2 HTTP响应状态码

1.4 Loadrunner 12.55安装

1.4.1 安装教程

1.4.2 Virtual User Generator介绍

1.4.3 Loadrunner中最核心模块——Controller介绍

1.4.4 Analysis介绍

结语


1.0. 前言

​ 在性能测试中,牵扯到了许多比较杂的知识点,这里将给大家说一下,loadrunner性能测试前需要做的一些准备,本节中我们将先从性能测试的一些术语入手,再到HTTP的一些知识,最后导我们loadrunner12.55的环境配置。

1.1 性能测试术语介绍

1.1.1 响应时间(Response time)

​ 响应时间就是用户感受软件系统为其服务所耗费的时间

1.1.2 并发用户数

​ 用来度量服务器并发容量和同步协调能力,在客户端指一批用户同时执行一个操作

C=nLT�=���

C^≈C+3C−−√�^≈�+3�

C是平均并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度;

C^�^

是并发用户数;

(实际上,这个公式我们基本上不用)

举个例子:一架电梯同时能够搭载的乘客数就可以看作是他的用户并发数

1.1.3 吞吐量(Throughput)

​ 吞吐量是指单位时间内系统能够完成的工作量,它衡量的是软件系统服务器的处理能力,就是在一秒中统计所完成的工作量。是指在一次性能测试过程中网络上传输的数据量的总和。

​ 通常是不需要用吞吐量这个概念的。因为它在不同人的脑子里会存在一些误解。

​ 用吞吐量来衡量一个系统的输出能力是极其不准确的,用个最简单的例子说明,一个水龙头开一天一夜,流出 10 吨水;10 个水龙头开 1 秒钟,流出 0.1 吨水。当然是一个水龙头的吞吐量大。你能说 1 个水龙头的出水能力是 10 个水龙头的强?所以,我们要加单位时间,看谁 1 秒钟的出水量大。这就是吞吐率。

​ 比如说,有些人说吞吐量就是在说TPS。有些人说吞吐量是说的每秒字节数。所以不建议用这个概念来承载性能指标,「有TPS就够了」

1.1.4 吞吐率(Throughout)

​ 指一个业务系统在单位时间内提供的产量(或服务量)。

1.1.5 TPS(Transaction Per Second)

​ 那么我们就来看看TPS

​ TPS是指每秒事务处理量。每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标

​ TPS = 并发数/平均响应时间

TPS是由并发数和平均响应时间计算得到,是否可以认为TPS是通过并发数和平均响应时间计算得到的一秒所处理的事务数,而吞吐量就是一秒内完成的事务数量。

举个例子:博尔特1秒跑10米,就计算得一小时能跑:10*3600=36000m,其实博尔特就跑了10s,而36000m这个数的大小,是我们计算出认为如果博尔特跑3600s可以跑36000m。
但是实际上让博尔特真的跑上一个小时,可能就跑了20000s(吞吐量),因为他全程不一定都是保持1秒10米,后面就累了,可能1s也就跑7m,
也就是TPS强调时刻,但是吞吐量强调时间。

1.1.6 QPS(Query Per Second)

​ 每秒查询数,即控制服务器每秒处理的指定请求的数量。

1.1.7 点击率(Hit Per Second)

​ 指每秒发送的HTTP请求的数量。点击率越大对server造成的压力就越大。

​ 点击率可以看做是 TPS 的一种特定情况。点击率更能体现用户端对服务器的压力。TPS 更能体现服务器对客户请求的处理能力。

​ 每秒钟用户向 web 服务器提交的 HTTP 请求数。这个指标是 web 应用特有的一个指标;web 应用是 “请求 - 响应” 模式,用户发一个申请,服务器就要处理一次,所以点击是 web 应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和 TPS 就是一个概念。容易看出,点击率越大。对服务器的压力也越大,点击率只是一个性能参考指标,重要的是分析点击时产生的影响。

​ 需要注意的是,这里的点击不是指鼠标的一次 “单击” 操作,因为一次 “单击” 操作中,客户端可能向服务器发现多个 HTTP 请求。

1.1.8 性能计数器(Counter)

​ 描述服务器或操作系统性能的一些数据指标

1.1.9 思考时间(Think Time)

​ 也称“休眠时间”。指用户在操作时,每个请求之间的时间间隔。

R=TTS�=���

R是请求数;T是时间;Ts是思考时间;

1.1.10 资源利用率

​ 指服务器系统中不同硬件资源被使用的程度,资源利用率=资源实际使用量/总的可用资源量

常见资源指标

​ CPU使用率:不高于75%-85%

​ 内存大小使用率:不高于80%

​ 磁盘IO(速率):不高于90%

​ 网路(速率):不高于80%

1.1.11 事务

​ 前面我们提到了事务,那么这里就给大家也顺带讲下事务

​ 用户自定义的一个标识,用来度量服务器响应时间的任务或操作集,事务时间反映的是一个操作过程的响应时间。

​ 事务的处理过程可以理解为:发送请求-->网络传输-->收到响应

​ 关注某个业务的响应时间,可以将该业务定义为事务

1.1.12 集合点

​ 模拟系统上较重用户负载时,配置多个用户同时执行操作,当用户到达集合点时将进行等待,直到指定数量的虚拟用户到达后再进行用户并发操作。

​ 见文知意,集合点就是集合的地方,比如我们需要对登录进行压力测试,那么我们就需要用户在集合点集合,再同时进行登录操作

​ 模拟多个用户同一时间发出请求,可以在脚本中设置集合点。

1.1.13 检查点

​ 一般与事务相配合使用,作用为在编译录制脚本、replay脚本的时候用来检查脚本执行情况,检查特定的文本字符串或图片。

1.1.14 平均响应时间

​ 处理一个事务所需要的时间。平均响应时间越小、响应时间平均值越小,说明处理速度越快,软件的效率就越好。

1.2 性能测试分类

1.2.1 性能测试

​ 性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

1.2.2 负载测试(Load Testing)

​ 指的是最常见的验证一般性需求进行的性能测试,考察软件系统在既定负载下的性能表现

1.2.3 压力测试(Stress Testing)

​ 考察系统在极端条件下的表现,极端条件可以是超负荷的交易量和并发用户数

1.2.4 配置测试(Configuration Testing)

​ 指通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则。

1.2.5 并发测试(Concurrency Testing)

​ 指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试。

1.2.6 可靠性测试(Reliability Testing)

​ 为了评估产品在规定的寿命期间内,在预期的使用、运输或储存等所有环境下,保持功能可靠性而进行的活动。

1.2.7 容量测试(Volume Testing)

​ 通过测试预先分析出反映软件系统应用特征的某项指标的极限值,系统在其极限状态下没有出现任何软件故障或还能保持主要功能正常运行。

1.2.8 基准测试

​ 指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。

1.2.9 稳定性测试

​ 测试系统在一定负载下运行长时间后是否会发生问题

1.2.10 可恢复测试

​ 主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。

1.3 HTTP我们需要知道的

1.1.1 客户端向服务器请求的HTTP方法

GET

​ 获取资源

POST

​ 传输实体主体

PUT

​ 传输文件

​ 获得报文首部

DELETE:

​ 删除文件

OPTIONS

​ 询问支持的方法,客户端用来询问服务器端支持哪一些方法

1.1.2 HTTP响应状态码

状态码含义
100请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分
200服务器已成功处理了请求
302重写向,会自动将请求者转到不同的位置
400服务器不理解请求的语法。
401请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。
404服务器找不到网页
500服务器内部错误
502网关错误
504网关超时

1.4 Loadrunner 12.55安装

1.4.1 安装教程

安装包:
下载链接: 百度网盘 请输入提取码
提取码: a3pi
安装注意事项:

  • 安装前,把所有的杀毒软件和防火墙关闭;
  • 若以前安装过LoadRunner,需将其卸载;
  • 安装路径不要带中文字符;
  • LoadRunner 12已经不再支持XP系统,浏览器建议使用IE10以上版本。;同时win 11的小朋友们请注意,Loadrunner需要有IE支持

启动安装包

鼠标右键点击HPE LoadRunner 12.55 Community Edition.exe安装程序,选择“以管理员身份运行”,弹出窗口,选择文件存放地址,可选择默认路径,点击“Install”。

若安装过程中被电脑安装的杀毒软件拦截时,均选择允许操作。

安装向导会验证电脑是否含有软件安装运行的必备组件,缺少组件时,会弹出窗口显示需安装的组件。点击“确定”按钮将自动安装所需组件,必须先安装这些必备程序才能安装HPE LoadRunner。

必备组件安装完成后,会弹出HPE LoadRunner安装向导窗口,选择要安装的产品,这里选择LoadRunner,点击“下一步”。

最终用户许可协议,勾选“我接受许可协议中的条款”,点击“下一步”。

目标文件夹,选择安装路径,安装路径不能含有中文字符,点击“下一步”。

已准备好安装HPE LoadRunner,点击“安装”将进行程序的安装。

正在安装HPE LoadRunner。

LoadRunner安装完成,点击“完成”,关闭安装弹窗。

安装完成,我们桌面上会出现三个软件,我们一一介绍一下:

使用顺序:Virtual User Generator -> Controller -> Analysis

1.4.2 Virtual User Generator介绍

​ Virtual User Generator(用户脚本)录制与编写脚本的地方,就是通过录制或编写脚本来模拟用户的行为,同时会打印出日志信息,方便调试脚本;VuGen也是一个集成开发调试环境,在这里完成脚本开发并调试通过后就可以放到Controller中创建场景。

​ 简单说,就是我们将会用VuGen对我们需要测试的流程进行录制,然后对录制下来的流程进行一些配置调试。

1.4.3 Loadrunner中最核心模块——Controller介绍

​ 场景(Scenario)是一种用来模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,验证系统各项性能指标是否达到用户要求,而Controller可以帮助我们对场景进行设计、执行以及监控进行管理。

从性能角度来说,场景一般可以分为两种类型即可:

  • 单一场景:在一个场景中,只有一个脚本(业务)
  • 理论基石:在任何系统中,如果单一业务单独执行,性能能够通过,则意味着每个业务本身其实是能够达到性能需求的。
  • 混合场景:在一个场景中,一次执行多个脚本(业务)

目的:是为了测试不同业务之间是否存在并发(广义的并发,即在线即并发)冲突的现象

注意:

  • 负载用户的数量:和一次执行N个脚本没有关系,应该就是最大负载用户数(在线用户数)。
  • 负载用户分配比例:通过统计数据(业务量占比)来进行虚拟用户的分配。

LoadRunner中是通过Controller组件来进行场景的设计和执行的,Controller中的场景分为两种:目标场景(基本不适用)、手工场景。

1.4.4 Analysis介绍

​ 是收集测试数据后生成图表报告的地方,帮助我们分析数据并产生图片,方便对负载生成后的相关数据进行整理分析。

以上就是这节的全部内容,如有错误,还请各位指正!

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

 获取方式:留言【软件测试学习】即可

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

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

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

相关文章

深度复盘:那些曾在618一鸣惊人的新品牌,今天过得怎么样?

分析师:yolo 编辑:yolo 出品:增长黑盒研究组 *本报告为增长黑盒独立研究系列, 与第三方不存在任何利益关系 从各平台的活动力度上来看,这届618堪称“史上最卷”:不装了,直接摊牌降价促销。 然而…

《VisualGLM-6B的原理与微调》资料学习分享

清华大学在发布chatGLM-6B后很快速的时间内就又发布了VisualGLM-6B模型,不可谓不强大,VisualGLM-6B官方项目地址在这里,如下所示: VisualGLM-6B 是一个开源的,支持图像、中文和英文的多模态对话语言模型,语…

2022前端趋势报告(上)

前端博主,热衷各种前端向的骚操作,经常想到哪就写到哪,如果有感兴趣的技术和前端效果可以留言~博主看到后会去代替大家踩坑的~ 主页: oliver尹的主页 格言: 跌倒了爬起来就好~ 一、前言 本文内容来自于《St…

N卡几千块的“智商税”,这下终于要没了

关于 CPU 显卡搭配,有句话大家肯定听过:「 i卡配iU、A卡配AU、N卡配 Fxxk U」 。 小白不要误会,这句话只是大家在喷N卡的定价问题。 拿刚刚过去的剁手节对比,AMD 这边旗舰显卡 RX 7900XT、XTX 价格直接跌到了 5/6000 出头。 而 …

Jenkins集成SonarQube代码质量检测

上一篇文章> Jenkins发布Kubernetes(K8s)集群(基于containerd) 一、SonarQube简介 1、简介 SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误 2、下载 https://www.sonarsource.com/products/sonarqube/downloads/ 二、实验环境…

Spring Boot请求处理-常用参数注解

PathVariable 路径变量RequestParam 获取请求参数RequestHeader 获取请求头RequestBody 获取请求体【Post】CookieValue 获取Cookie值RequestAttribute 获取request域属性ModelAttribute 1. PathVariable 该注解主要用于rest风格的搭配使用,请求路径中不再以k:v的…

软考高级系统架构设计师(四) 计算机网络2磁盘阵列

目录 磁盘阵列RAID RAID级别 ​IPV6 网络接入技术 综合布线 磁盘阵列RAID 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有"数块独立磁盘构成具有冗余能力的阵列”之意。 磁盘阵列是由很多块独立的磁盘&#…

全新形态骨传导,久戴不疼,南卡OE骨传导耳机

随着生活品质的提高,科技的发展,人们对于日常用的耳机可以说是要求越来越高,越来越挑剔了。从耳机的外在设计,内在音质,佩戴的舒适及安全性上都有更高的追求。当然,耳机的设计者们也不遗余力的发挥着他们的…

华为OD机试真题 JavaScript 实现【高矮个子排队】【2023Q2 100分】,附详细解题思路

一、题目描述 现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。 我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,每一个“高”位置的小朋友要比相邻的位置高…

PHP学习笔记第四天

前言 作者简介:不知名白帽,网络安全学习者。 博客主页:不知名白帽的博客_CSDN博客-网络安全,CTF,内网渗透领域博主 网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan 目录 PHP超级全局变量 PHP $_GLOBALS PHP $_SER…

在 Navicat Premium 中管理 MySQL 用户 | 第 3 部分:配置用户权限

第 3 部分:配置用户权限 在本系列中,我们一直在探索如何使用 Navicat 的旗舰产品 Navicat Premium 执行常见的用户管理任务。在 第 1 部分 中,我们学习了如何使用 Navicat Premium 用户管理工具保护 MySQL root 帐号。而 第 2 部分 重点介绍…

csrf入门

一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 二.CSRF可以做什么&#xff…

uniapp webview H5跳转微信小程序

第一步&#xff1a;manifest.json 第二步&#xff1a;index.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>…

Unity编辑器扩展-第六集-创建窗口/批量填图

第五集链接&#xff1a;Unity编辑器扩展-第五集-撤回操作/禁止操作/加快捷键_菌菌巧乐兹的博客-CSDN博客 一、本节目标效果展示 1.创建窗口 2.图片批量赋值到物体上 二、创建窗口 这个功能其实也很好理解&#xff0c;我们之前学了点击选择&#xff0c;但我们难免会遇见需要…

python学习——Matplotlib数据可视化基础

目录 Matplotlib数据可视化基础1.基础语法与折线图rc参数调整中文显示的问题 2.散点图3.条形图案例一&#xff1a;横向条形图案例二&#xff1a;多个条形图案例三&#xff1a;最后一个刻度 4.直方图实例1 频率分布直方图和频数分布直方图 5.饼图6.箱线图综合案例&#xff1a;直…

Centos7 上的sqlite3安装及升级

一.wget升级 yum install -y wget 二.sqlite3安装 sudo yum install sqlite-devel 查看sqlite3的版本 sqlite3 -version 三.sqlite3升级 下载源码 wget https://www.sqlite.org/2023/sqlite-autoconf-3420000.tar.gz 版本可去官网选择 SQLite Download Page 解压、编译 tar z…

类的真正形态

问题 经过不停地改进&#xff0c;结构体 struct 变得越来越不像它在 C 语言中的样子了&#xff01;&#xff01;&#xff01; struct 在 C 语言中已经有了自己的含义&#xff0c;必须继续兼容 在 C 中提供了新的关键字 class 用于类定义 class 和 struct 的用法是完全相同的…

微信接口测试拓展

背景 最近收到一个SRC提交的漏洞&#xff0c;泄露了微信小程序的appkey和appSecret&#xff1b;于是乎为了搞清楚影响&#xff0c;漏洞风险和利用方式&#xff0c;便有了这篇文章&#xff1b; 在了解漏洞风险之前先来了解一下微信的几个平台&#xff1b; 微信公众号平台 微…

进行压力测试的目的是什么?重要性体现在哪?

进行压力测试的目的是什么&#xff1f;重要性体现在哪&#xff1f;压力测试是通过施加一定压力或负荷于测试对象&#xff0c;以评估其结构、性能和可靠性的过程。它可以是静态压力测试&#xff0c;即施加一定压力并持续一段时间&#xff0c;也可以是动态压力测试&#xff0c;即…