【性能测试】loadrunner12.55教程(一)--知识准备_loadrunner12.55使用教程-程序员宅基地

技术标签: loadrunner  性能测试  软件测试  服务器  测试工具  

目录

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介绍

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

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

结语

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

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

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_67553250/article/details/131328542

智能推荐

FTP命令字和返回码_ftp 登录返回230-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏13次。为了从FTP服务器下载文件,需要要实现一个简单的FTP客户端。FTP(文件传输协议) 是 TCP/IP 协议组中的应用层协议。FTP协议使用字符串格式命令字,每条命令都是一行字符串,以“\r\n”结尾。客户端发送格式是:命令+空格+参数+"\r\n"的格式服务器返回格式是以:状态码+空格+提示字符串+"\r\n"的格式,代码只要解析状态码就可以了。读写文件需要登陆服务器,特殊用..._ftp 登录返回230

centos7安装rabbitmq3.6.5_centos7 安装rabbitmq3.6.5-程序员宅基地

文章浏览阅读648次。前提:systemctl stop firewalld 关闭防火墙关闭selinux查看getenforce临时关闭setenforce 0永久关闭sed-i'/SELINUX/s/enforcing/disabled/'/etc/selinux/configselinux的三种模式enforcing:强制模式,SELinux 运作中,且已经正确的开始限制..._centos7 安装rabbitmq3.6.5

idea导入android工程,idea怎样导入Android studio 项目?-程序员宅基地

文章浏览阅读5.8k次。满意答案s55f2avsx2017.09.05采纳率:46%等级:12已帮助:5646人新版Android Studio/IntelliJ IDEA可以直接导入eclipse项目,不再推荐使用eclipse导出gradle的方式2启动Android Studio/IntelliJ IDEA,选择 import project3选择eclipse 项目4选择 create project f..._android studio 项目导入idea 看不懂安卓项目

浅谈AI大模型技术:概念、发展和应用_ai大模型应用开发-程序员宅基地

文章浏览阅读860次,点赞2次,收藏6次。AI大模型技术已经在自然语言处理、计算机视觉、多模态交互等领域取得了显著的进展和成果,同时也引发了一系列新的挑战和问题,如数据质量、计算效率、知识可解释性、安全可靠性等。城市运维涉及到多个方面,如交通管理、环境监测、公共安全、社会治理等,它们需要处理和分析大量的多模态数据,如图像、视频、语音、文本等,并根据不同的场景和需求,提供合适的决策和响应。知识搜索有多种形式,如语义搜索、对话搜索、图像搜索、视频搜索等,它们可以根据用户的输入和意图,从海量的数据源中检索出最相关的信息,并以友好的方式呈现给用户。_ai大模型应用开发

非常详细的阻抗测试基础知识_阻抗实部和虚部-程序员宅基地

文章浏览阅读8.2k次,点赞12次,收藏121次。为什么要测量阻抗呢?阻抗能代表什么?阻抗测量的注意事项... ...很多人可能会带着一系列的问题来阅读本文。不管是数字电路工程师还是射频工程师,都在关注各类器件的阻抗,本文非常值得一读。全文13000多字,认真读完大概需要2小时。一、阻抗测试基本概念阻抗定义:阻抗是元器件或电路对周期的交流信号的总的反作用。AC 交流测试信号 (幅度和频率)。包括实部和虚部。​图1 阻抗的定义阻抗是评测电路、元件以及制作元件材料的重要参数。那么什么是阻抗呢?让我们先来看一下阻抗的定义。首先阻抗是一个矢量。通常,阻抗是_阻抗实部和虚部

小学生python游戏编程arcade----基本知识1_arcade语言 like-程序员宅基地

文章浏览阅读955次。前面章节分享试用了pyzero,pygame但随着想增加更丰富的游戏内容,好多还要进行自己编写类,从今天开始解绍一个新的python游戏库arcade模块。通过此次的《连连看》游戏实现,让我对swing的相关知识有了进一步的了解,对java这门语言也有了比以前更深刻的认识。java的一些基本语法,比如数据类型、运算符、程序流程控制和数组等,理解更加透彻。java最核心的核心就是面向对象思想,对于这一个概念,终于悟到了一些。_arcade语言 like

随便推点

【增强版短视频去水印源码】去水印微信小程序+去水印软件源码_去水印机要增强版-程序员宅基地

文章浏览阅读1.1k次。源码简介与安装说明:2021增强版短视频去水印源码 去水印微信小程序源码网站 去水印软件源码安装环境(需要材料):备案域名–服务器安装宝塔-安装 Nginx 或者 Apachephp5.6 以上-安装 sg11 插件小程序已自带解析接口,支持全网主流短视频平台,搭建好了就能用注:接口是公益的,那么多人用解析慢是肯定的,前段和后端源码已经打包,上传服务器之后在配置文件修改数据库密码。然后输入自己的域名,进入后台,创建小程序,输入自己的小程序配置即可安装说明:上传源码,修改data/_去水印机要增强版

verilog进阶语法-触发器原语_fdre #(.init(1'b0) // initial value of register (1-程序员宅基地

文章浏览阅读557次。1. 触发器是FPGA存储数据的基本单元2. 触发器作为时序逻辑的基本元件,官方提供了丰富的配置方式,以适应各种可能的应用场景。_fdre #(.init(1'b0) // initial value of register (1'b0 or 1'b1) ) fdce_osc (

嵌入式面试/笔试C相关总结_嵌入式面试笔试c语言知识点-程序员宅基地

文章浏览阅读560次。本该是不同编译器结果不同,但是尝试了g++ msvc都是先计算c,再计算b,最后得到a+b+c是经过赋值以后的b和c参与计算而不是6。由上表可知,将q复制到p数组可以表示为:*p++=*q++,*优先级高,先取到对应q数组的值,然后两个++都是在后面,该行运算完后执行++。在电脑端编译完后会分为text data bss三种,其中text为可执行程序,data为初始化过的ro+rw变量,bss为未初始化或初始化为0变量。_嵌入式面试笔试c语言知识点

57 Things I've Learned Founding 3 Tech Companies_mature-程序员宅基地

文章浏览阅读2.3k次。57 Things I've Learned Founding 3 Tech CompaniesJason Goldberg, Betashop | Oct. 29, 2010, 1:29 PMI’ve been founding andhelping run techn_mature

一个脚本搞定文件合并去重,大数据处理,可以合并几个G以上的文件_python 超大文本合并-程序员宅基地

文章浏览阅读1.9k次。问题:先讲下需求,有若干个文本文件(txt或者csv文件等),每行代表一条数据,现在希望能合并成 1 个文本文件,且需要去除重复行。分析:一向奉行简单原则,如无必要,绝不复杂。如果数据量不大,那么如下两条命令就可以搞定合并:cat a.txt >> new.txtcat b.txt >> new.txt……去重:cat new...._python 超大文本合并

支付宝小程序iOS端过渡页DFLoadingPageRootController分析_类似支付宝页面过度加载页-程序员宅基地

文章浏览阅读489次。这个过渡页是第一次打开小程序展示的,点击某个小程序前把手机的开发者->network link conditioner->enable & very bad network 就会在停在此页。比如《支付宝运动》这个小程序先看这个类的.h可以看到它继承于DTViewController点击左上角返回的方法- (void)back;#import "DTViewController.h"#import "APBaseLoadingV..._类似支付宝页面过度加载页

推荐文章

热门文章

相关标签