【性能测试】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

智能推荐

将UIImage转换为PDF并进行保存 - 编程学习_uiimage 转 pdf-程序员宅基地

文章浏览阅读65次。以上就是将UIImage转换为PDF并保存的完整过程。通过按照这些步骤,你可以在iOS应用程序中将UIImage对象转换为PDF格式,并将其保存到设备上。在iOS开发中,有时候我们需要将UIImage对象转换为PDF格式,并将其保存到设备上。请确保将上述代码添加到适当的位置,并替换"my_image.png"为你自己的图片文件名。现在,我们将实现一个方法,该方法将UIImage对象转换为PDF并保存到指定路径。现在,你可以通过调用上述方法将UIImage对象转换为PDF并保存到指定路径。_uiimage 转 pdf

VMPlayer 安装 Ubuntu 12.04 一个注意点-程序员宅基地

文章浏览阅读129次。创建新虚拟机后, 选择Ubuntu12.04的ISO,VMPlayer自动识别出是Ubuntu, 提示用easy install安装.这个easy install就是坑那, 装的过程是很轻松,装完之后发现怎么输入密码都登录不进去.解决这个问题的方法就是,在创建新虚拟机的时候,选择"I will install OS later"然后一步一步继续下去,..._ubuntu 20 安装vmplayer出错

pg数据库连接失败:org.postgresql.util.PSQLException: ��������: û���������� “xx.xx.xxx.xx“,_org.postgresql.util.psqlexception: 尝试连线已失败。-程序员宅基地

文章浏览阅读2.1k次。在本地电脑写好了一个springboot + mybatis + pg的项目,在本地调试运行正常,将项目打成jar包在服务器上运行,当与pg交互时出现上述报错信息。上述表示允许IP地址为10.10.56.17的所有用户可以通过MD5的密码验证方式连接主机上所有的数据库。1)找到pg的安装路径,该路径下有个data文件夹,在data文件夹找到pg_hba.conf配置文件。2)打开pg_hba.conf配置文件,在ipv4下添加服务器ip,例如。3)修改后保存,打开pg终端,执行。_org.postgresql.util.psqlexception: 尝试连线已失败。

VScode下配置Go语言开发环境【2023最新】_vscode go-程序员宅基地

文章浏览阅读2.2w次,点赞49次,收藏130次。Windows 下安装和卸载 Go 及 vscode 环境配置【2023最新】_vscode go

Java毕业设计基于Springboot+vue的插画投稿网站_vue 插画-程序员宅基地

文章浏览阅读207次。插画投稿网站是提供给插画师们展示和分享自己作品的平台。这些网站通常允许插画师上传自己的作品,并与其他用户进行交流和互动。插画师可以在这些网站上展示自己的作品集,参与各种比赛和活动,与其他插画师进行合作,甚至有机会与潜在客户建立联系。是一个面向设计师和创意人才的社区平台,也是插画师展示作品的理想场所。在Dribbble上,插画师可以上传自己的作品,参与各种设计挑战和竞赛,与全球设计师社区互动,展示自己的创意和技能。_vue 插画

订单状态机-程序员宅基地

文章浏览阅读8k次,点赞8次,收藏57次。0 前言电商平台所有模块中,订单系统作为比较核心的模块,它决定了整个流程能不能顺畅的执行,起着承上启下的作用(下单、支付、履约、售后、清结算、营销活动)。订单系统的设计主要需要考虑订单字段、业务流程、状态机三大个方面,这些内容决定了订单系统稳定性与扩展性。2 订单流程订单流程指整个订单从产生到完成的整个流转过程,它包括正向流程和逆向的流程。3 订单状态机状态机表示了一笔订单的生命周期,按照一定的方向通过触发不同的事件产生数据流转的过程。状态机v2.0随着业务快速._订单状态机

随便推点

weka J48决策树学习-程序员宅基地

文章浏览阅读2.8w次,点赞2次,收藏29次。Weka为一个Java基础上的机器学习工具,上手简单,并提供图形化界面,提供如分类、聚类、频繁项挖掘等工具,本篇文章主要写一下分类器算法中的J48算法及其实现。一、算法J48是基于C4.5实现的决策树算法,对于C4.5算法相关资料太多了,笔者在这里转载一部分(来源:http://blog.csdn.net/zjd950131/article/details/802708

camunda7、camunda8对比分析,哪个版本好_camunda v7-程序员宅基地

文章浏览阅读2.6k次,点赞4次,收藏7次。Camunda7是一个基于Java的框架,支持用于工作流和流程自动化的BPMN、用于案例管理的CMMN和用于业务决策管理的DMN。1、流程引擎流程引擎是一个Java库,负责执行BPMN 2.0流程、CMMN 1.1案例和DMN 1.3决策。它有一个轻量级的POJO核心,并使用关系数据库来实现持久性。ORM映射是由MyBatis映射框架提供的。2、流程设计器Camunda Modeler:BPMN 2.0和CMMN 1.1图表以及DMN 1.3决策表的建模工具。_camunda v7

rabbitMQ总结_rabbitmq是数据库吗-程序员宅基地

文章浏览阅读425次。rabbitMQ其实跟mysql等数据库差不多,都是需要通过url,账号,密码等去链接public static Connection getConnection() throws Exception { //定义连接工厂 ConnectionFactory factory = new ConnectionFactory(); //设置服务地址 factory.se..._rabbitmq是数据库吗

MySQL order by 排序使用的字段有重复值导致排序随机的情况_order by随机排序-程序员宅基地

文章浏览阅读1.1k次,点赞3次,收藏2次。生产环境一个列表页的查询sql:select epc.id, epc.contractName, epc.contractType, epc.officerId,ee.employeeName officerName from er_product_contract epc left join er_employee ee on epc.officerId = ee.employeeId LEFT JOIN simu_product p ON epc.productCode_order by随机排序

HarmonyOS4-学习入门知识总结_harmonyos笔记总结-程序员宅基地

文章浏览阅读1k次,点赞6次,收藏17次。/ ForEach:循环遍历数组,根据数组内容渲染页面组件,超过屏幕的东西就看不到,也滑动不了,所以后面统一使用List组件。// 任务列表,包含新增任务 @Link totalTask:$finishTask:变量的引用。// 任务列表,包含新增任务 @Link totalTask:$finishTask:变量的引用。// 任务列表,包含新增任务 @Link totalTask:$finishTask:变量的引用。// 横向布局 主轴/交叉轴,一般只设置主轴,不设置交叉轴。_harmonyos笔记总结

Ubuntu上安装部署k8s集群_ubuntu /etc/sysconfig/kubelet-程序员宅基地

文章浏览阅读3.4k次,点赞5次,收藏33次。Ubutun20.04搭建K8S集群_ubuntu /etc/sysconfig/kubelet

推荐文章

热门文章

相关标签