【性能测试】loadrunner(一)知识准备

news2024/11/24 2:20:27

【性能测试】loadrunner(一)知识准备

目录:导读

1.0. 前言

1.1 性能测试术语介绍

1.2 性能测试分类

1.3 HTTP我们需要知道的

1.4 Loadrunner 12.55安装


1.0. 前言

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

1.1 性能测试术语介绍

1.1.1 响应时间(Response time)

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

1.1.2 并发用户数

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

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

是并发用户数;

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

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

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是请求数;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

​ 传输文件

HEAD

​ 获得报文首部

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/366248.html

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

相关文章

Java文件IO操作:File类的相关内容

Java文件IO操作一、File类1.相对路径和绝对路径2.路径分隔符(同一路径下、多个路径下)3.实例化4.常见方法一、File类 File类继承自Object类,实现了Serializable接口和Comparable接口; File类属于java.io包; File类是文…

高通平台开发系列讲解(WIFI篇)802.11 基本概念

文章目录 一、WLAN概述二、802.11发展历程三、802.11基本概念沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文将基于高通平台介绍802.11基本概念。 一、WLAN概述 WLAN是Wireless Local Area Network的简称,指应用无线通信技术将计算机设备互联起来,构成可以互相通…

Python计算 -- 内附蓝桥题:相乘,三角回文数

计算 ~~不定时更新🎃,上次更新:2023/02/23 🗡常用函数(方法) 1. 求一个整数的最末位 举个栗子🌰 n int(input()) end n % 10蓝桥例题1 - 相乘✖️ 题目描述 本题为填空题,…

【python学习笔记】:输出与输入

01 输出方式 表达式语句、print()函数和使用文件对象的write()方法。 02 输出形式 格式化输出str.format()函数、转成字符串可以使用repr()或str()函数来实现。 (1)repr():产生一个解释器易读的表达形式,便于字符串的拼接。 例:输出平方与…

OpenGL超级宝典学习笔记:着色器存储区块、原子内存操作、内存屏障

前言 本篇在讲什么 本篇为蓝宝书学习笔记 着色器存储区块 原子内存操作 内存屏障 本篇适合什么 适合初学Open的小白 本篇需要什么 对C语法有简单认知 对OpenGL有简单认知 最好是有OpenGL超级宝典蓝宝书 依赖Visual Studio编辑器 本篇的特色 具有全流程的图文教学 重…

五月天演唱会门票开售,retry了一小时也没re进去!到底是什么高科技在作祟?!

等待了三年,大型线下演唱会终于回归了!前段时间,文化和旅游部市场管理司发布通知称,自2023年2月16日起,各地文化和旅游行政部门恢复对涉港澳台营业性演出的受理和审批。据中国演出行业协会在业内调研了解,周…

Python Pytorch开发环境搭建(Windows和Ubuntu)

Python Pytorch开发环境搭建(Windows和Ubuntu) 目录 Pytorch开发环境搭建 1. 安装cuda cudnn (1)Windows安装方法 (2)Ubuntu18.04安装方法 2. 安装Python(推荐使用Anaconda) (1)Windows安装方法 (2)Ubuntu18.04安装方法 3. Pytorch安装 4. 安装…

渗透测试之端口探测实验

渗透测试之端口探测实验实验目的一、实验原理1.1 端口1.2 服务二、实验环境2.1 操作机器2.2 实验工具三、实验步骤1. 使用netstat手动探测指定服务2. 使用namp工具进行端口扫描2. 使用ssh命令总结实验目的 了解端口、服务的基本概念熟悉手工探测方式netstat命令的使用掌握扫描…

分享app的测试技巧

前言 今天笔者想和大家来唠唠app测试,现在的app有非常的多,这些app都是需要经过测试之后才能发布到应用市场中,app已经成为了我们日常生活中不可或缺的一部分了,但它的功能必须强大,才能受到消费者的重视,…

Python开发——做一个简单的【表白墙】网站

前言 大家早好、午好、晚好吖 ❤ ~ 今天我们要用Python做Web开发,做一个简单的【表白墙】网站。 众所周知表白墙的功能普遍更多的是发布找人,失物招领, 还是一个大家可以跟自己喜欢的人公开表白的平台 Tornado框架简单介绍 在Python当中&…

Go全栈学习(一)基础语法

Go语言基础语法 文章目录Go语言基础语法注释变量变量的定义变量的交换理解变量(内存地址)匿名变量变量的作用域常量2023.2.4日 总结// 关于Goland 中 执行的问题// 1、包下执行 (一个 main 函数来执行,如果有多个,无法…

【Elasticsearch】安装配置与使用

一、下载与安装Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch#ga-release前端管理界面:https://github.com/mobz/elasticsearch-head这两个文件都是解压即可。二、配置与启动1.elasticsearch6以上的版本已经内置jdk&#xf…

跑步选什么耳机比较好、最好用的五款跑步无线耳机推荐

春节过后,全国各地马拉松蜂拥而起,跑友们憋了这么久终于可以参赛了,不过无论是比赛还是训练,在跑步的过程中都离不开音乐的加持,所以是时候为自己选一款好用的运动耳机了!说实话挑选一款适合的运动耳机还真…

mac下ElasticSearch 集群搭建,使用Kibana配置和管理集群

Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elasticsearch将无法组成集群.会报错,Kibana也无法启动,因为…

Python入门(未完待续。。。)

认识python 解释型(写完直接运行)、面向对象的高级编程语言;开源免费、支持交互式、可跨平台移植的脚本语言;优点:开源、易于维护、可移植、简单优雅、功能强大、可扩展、可移植;缺点:解释型→运…

【IoT】无线温度采集系统设计

随着工业和农业的发展,无线采集系统的应用范围变得更加广泛,对无线数据采集系统的测量参数也越来越多,精准度也越来越高。目前国内外有很多的无线温度采集系统,但很多的无线温度采集系统存在很多问题,如采集速度和稳定…

docker网络基

本文简单介绍下,容器之间的网络访问、容器与宿主机之间的网络访问、宿主机上有哪些网络接口。lolocal的简写,本地回环地址,127.0.0.1,它代表本地虚拟设备接口,默认被看作是永远不会宕掉的接口eth0ethernet的简写&#…

OraDump导出套件

OraDump导出套件 只需单击几下即可将数据从Oracle转储文件导出到流行的数据库和格式。 OraDump Export Kit是一个将数据从Oracle转储文件导出到流行数据库和格式的软件包。该产品具有高性能,因为它直接读取转储文件。命令行支持允许编写脚本、自动化和安排转换过程。…

结构建模设计——Solidworks软件之装配体操作基本总结三(高级配合、机械配合、快捷菜单功能)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…

纹理开启Mipmap导致压缩失败的问题

1)纹理开启Mipmap导致压缩失败的问题 ​2)使用TextMeshPro能否避免使用Resources文件夹 3)用透视摄像机去分层管理UI的优势和好处 4)Houdini中切线空间向量怎么在Unity Shader还原出原向量 这是第325篇UWA技术知识分享的推送&…