技术标签: loadrunner 性能测试 软件测试 服务器 测试工具
目录
1.1.5 TPS(Transaction Per Second)
1.2.4 配置测试(Configuration Testing)
1.2.5 并发测试(Concurrency Testing)
1.2.6 可靠性测试(Reliability Testing)
1.4.2 Virtual User Generator介绍
1.4.3 Loadrunner中最核心模块——Controller介绍
在性能测试中,牵扯到了许多比较杂的知识点,这里将给大家说一下,loadrunner性能测试前需要做的一些准备,本节中我们将先从性能测试的一些术语入手,再到HTTP的一些知识,最后导我们loadrunner12.55的环境配置。
响应时间就是用户感受软件系统为其服务所耗费的时间
用来度量服务器并发容量和同步协调能力,在客户端指一批用户同时执行一个操作
C=nLT�=���
C^≈C+3C−−√�^≈�+3�
C是平均并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度;
C^�^
是并发用户数;
(实际上,这个公式我们基本上不用)
举个例子:一架电梯同时能够搭载的乘客数就可以看作是他的用户并发数
吞吐量是指单位时间内系统能够完成的工作量,它衡量的是软件系统服务器的处理能力,就是在一秒中统计所完成的工作量。是指在一次性能测试过程中网络上传输的数据量的总和。、
通常是不需要用吞吐量这个概念的。因为它在不同人的脑子里会存在一些误解。
用吞吐量来衡量一个系统的输出能力是极其不准确的,用个最简单的例子说明,一个水龙头开一天一夜,流出 10 吨水;10 个水龙头开 1 秒钟,流出 0.1 吨水。当然是一个水龙头的吞吐量大。你能说 1 个水龙头的出水能力是 10 个水龙头的强?所以,我们要加单位时间,看谁 1 秒钟的出水量大。这就是吞吐率。
比如说,有些人说吞吐量就是在说TPS。有些人说吞吐量是说的每秒字节数。所以不建议用这个概念来承载性能指标,「有TPS就够了」。
指一个业务系统在单位时间内提供的产量(或服务量)。
那么我们就来看看TPS
TPS是指每秒事务处理量。每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标
TPS = 并发数/平均响应时间
TPS是由并发数和平均响应时间计算得到,是否可以认为TPS是通过并发数和平均响应时间计算得到的一秒所处理的事务数,而吞吐量就是一秒内完成的事务数量。
举个例子:博尔特1秒跑10米,就计算得一小时能跑:10*3600=36000m,其实博尔特就跑了10s,而36000m这个数的大小,是我们计算出认为如果博尔特跑3600s可以跑36000m。
但是实际上让博尔特真的跑上一个小时,可能就跑了20000s(吞吐量),因为他全程不一定都是保持1秒10米,后面就累了,可能1s也就跑7m,
也就是TPS强调时刻,但是吞吐量强调时间。
每秒查询数,即控制服务器每秒处理的指定请求的数量。
指每秒发送的HTTP请求的数量。点击率越大对server造成的压力就越大。
点击率可以看做是 TPS 的一种特定情况。点击率更能体现用户端对服务器的压力。TPS 更能体现服务器对客户请求的处理能力。
每秒钟用户向 web 服务器提交的 HTTP 请求数。这个指标是 web 应用特有的一个指标;web 应用是 “请求 - 响应” 模式,用户发一个申请,服务器就要处理一次,所以点击是 web 应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和 TPS 就是一个概念。容易看出,点击率越大。对服务器的压力也越大,点击率只是一个性能参考指标,重要的是分析点击时产生的影响。
需要注意的是,这里的点击不是指鼠标的一次 “单击” 操作,因为一次 “单击” 操作中,客户端可能向服务器发现多个 HTTP 请求。
描述服务器或操作系统性能的一些数据指标
也称“休眠时间”。指用户在操作时,每个请求之间的时间间隔。
R=TTS�=���
R是请求数;T是时间;Ts是思考时间;
指服务器系统中不同硬件资源被使用的程度,资源利用率=资源实际使用量/总的可用资源量
常见资源指标
CPU使用率:不高于75%-85%
内存大小使用率:不高于80%
磁盘IO(速率):不高于90%
网路(速率):不高于80%
前面我们提到了事务,那么这里就给大家也顺带讲下事务
用户自定义的一个标识,用来度量服务器响应时间的任务或操作集,事务时间反映的是一个操作过程的响应时间。
事务的处理过程可以理解为:发送请求-->网络传输-->收到响应
关注某个业务的响应时间,可以将该业务定义为事务
模拟系统上较重用户负载时,配置多个用户同时执行操作,当用户到达集合点时将进行等待,直到指定数量的虚拟用户到达后再进行用户并发操作。
见文知意,集合点就是集合的地方,比如我们需要对登录进行压力测试,那么我们就需要用户在集合点集合,再同时进行登录操作
模拟多个用户同一时间发出请求,可以在脚本中设置集合点。
一般与事务相配合使用,作用为在编译录制脚本、replay脚本的时候用来检查脚本执行情况,检查特定的文本字符串或图片。
处理一个事务所需要的时间。平均响应时间越小、响应时间平均值越小,说明处理速度越快,软件的效率就越好。
性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
指的是最常见的验证一般性需求进行的性能测试,考察软件系统在既定负载下的性能表现
考察系统在极端条件下的表现,极端条件可以是超负荷的交易量和并发用户数
指通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则。
指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试。
为了评估产品在规定的寿命期间内,在预期的使用、运输或储存等所有环境下,保持功能可靠性而进行的活动。
通过测试预先分析出反映软件系统应用特征的某项指标的极限值,系统在其极限状态下没有出现任何软件故障或还能保持主要功能正常运行。
指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。
测试系统在一定负载下运行长时间后是否会发生问题
主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。
获取资源
传输实体主体
传输文件
获得报文首部
删除文件
询问支持的方法,客户端用来询问服务器端支持哪一些方法
状态码 | 含义 |
---|---|
100 | 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分 |
200 | 服务器已成功处理了请求 |
302 | 重写向,会自动将请求者转到不同的位置 |
400 | 服务器不理解请求的语法。 |
401 | 请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。 |
404 | 服务器找不到网页 |
500 | 服务器内部错误 |
502 | 网关错误 |
504 | 网关超时 |
安装包:
下载链接: 百度网盘 请输入提取码
提取码: a3pi
安装注意事项:
启动安装包
鼠标右键点击HPE LoadRunner 12.55 Community Edition.exe安装程序,选择“以管理员身份运行”,弹出窗口,选择文件存放地址,可选择默认路径,点击“Install”。
若安装过程中被电脑安装的杀毒软件拦截时,均选择允许操作。
安装向导会验证电脑是否含有软件安装运行的必备组件,缺少组件时,会弹出窗口显示需安装的组件。点击“确定”按钮将自动安装所需组件,必须先安装这些必备程序才能安装HPE LoadRunner。
必备组件安装完成后,会弹出HPE LoadRunner安装向导窗口,选择要安装的产品,这里选择LoadRunner,点击“下一步”。
最终用户许可协议,勾选“我接受许可协议中的条款”,点击“下一步”。
目标文件夹,选择安装路径,安装路径不能含有中文字符,点击“下一步”。
已准备好安装HPE LoadRunner,点击“安装”将进行程序的安装。
正在安装HPE LoadRunner。
LoadRunner安装完成,点击“完成”,关闭安装弹窗。
安装完成,我们桌面上会出现三个软件,我们一一介绍一下:
使用顺序:Virtual User Generator -> Controller -> Analysis
Virtual User Generator(用户脚本)录制与编写脚本的地方,就是通过录制或编写脚本来模拟用户的行为,同时会打印出日志信息,方便调试脚本;VuGen也是一个集成开发调试环境,在这里完成脚本开发并调试通过后就可以放到Controller中创建场景。
简单说,就是我们将会用VuGen对我们需要测试的流程进行录制,然后对录制下来的流程进行一些配置调试。
场景(Scenario)是一种用来模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,验证系统各项性能指标是否达到用户要求,而Controller可以帮助我们对场景进行设计、执行以及监控进行管理。
从性能角度来说,场景一般可以分为两种类型即可:
目的:是为了测试不同业务之间是否存在并发(广义的并发,即在线即并发)冲突的现象
注意:
LoadRunner中是通过Controller组件来进行场景的设计和执行的,Controller中的场景分为两种:目标场景(基本不适用)、手工场景。
是收集测试数据后生成图表报告的地方,帮助我们分析数据并产生图片,方便对负载生成后的相关数据进行整理分析。
以上就是这节的全部内容,如有错误,还请各位指正!
这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。
获取方式:留言【软件测试学习】即可
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!
文章浏览阅读65次。以上就是将UIImage转换为PDF并保存的完整过程。通过按照这些步骤,你可以在iOS应用程序中将UIImage对象转换为PDF格式,并将其保存到设备上。在iOS开发中,有时候我们需要将UIImage对象转换为PDF格式,并将其保存到设备上。请确保将上述代码添加到适当的位置,并替换"my_image.png"为你自己的图片文件名。现在,我们将实现一个方法,该方法将UIImage对象转换为PDF并保存到指定路径。现在,你可以通过调用上述方法将UIImage对象转换为PDF并保存到指定路径。_uiimage 转 pdf
文章浏览阅读129次。创建新虚拟机后, 选择Ubuntu12.04的ISO,VMPlayer自动识别出是Ubuntu, 提示用easy install安装.这个easy install就是坑那, 装的过程是很轻松,装完之后发现怎么输入密码都登录不进去.解决这个问题的方法就是,在创建新虚拟机的时候,选择"I will install OS later"然后一步一步继续下去,..._ubuntu 20 安装vmplayer出错
文章浏览阅读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: 尝试连线已失败。
文章浏览阅读2.2w次,点赞49次,收藏130次。Windows 下安装和卸载 Go 及 vscode 环境配置【2023最新】_vscode go
文章浏览阅读207次。插画投稿网站是提供给插画师们展示和分享自己作品的平台。这些网站通常允许插画师上传自己的作品,并与其他用户进行交流和互动。插画师可以在这些网站上展示自己的作品集,参与各种比赛和活动,与其他插画师进行合作,甚至有机会与潜在客户建立联系。是一个面向设计师和创意人才的社区平台,也是插画师展示作品的理想场所。在Dribbble上,插画师可以上传自己的作品,参与各种设计挑战和竞赛,与全球设计师社区互动,展示自己的创意和技能。_vue 插画
文章浏览阅读8k次,点赞8次,收藏57次。0 前言电商平台所有模块中,订单系统作为比较核心的模块,它决定了整个流程能不能顺畅的执行,起着承上启下的作用(下单、支付、履约、售后、清结算、营销活动)。订单系统的设计主要需要考虑订单字段、业务流程、状态机三大个方面,这些内容决定了订单系统稳定性与扩展性。2 订单流程订单流程指整个订单从产生到完成的整个流转过程,它包括正向流程和逆向的流程。3 订单状态机状态机表示了一笔订单的生命周期,按照一定的方向通过触发不同的事件产生数据流转的过程。状态机v2.0随着业务快速._订单状态机
文章浏览阅读2.8w次,点赞2次,收藏29次。Weka为一个Java基础上的机器学习工具,上手简单,并提供图形化界面,提供如分类、聚类、频繁项挖掘等工具,本篇文章主要写一下分类器算法中的J48算法及其实现。一、算法J48是基于C4.5实现的决策树算法,对于C4.5算法相关资料太多了,笔者在这里转载一部分(来源:http://blog.csdn.net/zjd950131/article/details/802708
文章浏览阅读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
文章浏览阅读425次。rabbitMQ其实跟mysql等数据库差不多,都是需要通过url,账号,密码等去链接public static Connection getConnection() throws Exception { //定义连接工厂 ConnectionFactory factory = new ConnectionFactory(); //设置服务地址 factory.se..._rabbitmq是数据库吗
文章浏览阅读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随机排序
文章浏览阅读1k次,点赞6次,收藏17次。/ ForEach:循环遍历数组,根据数组内容渲染页面组件,超过屏幕的东西就看不到,也滑动不了,所以后面统一使用List组件。// 任务列表,包含新增任务 @Link totalTask:$finishTask:变量的引用。// 任务列表,包含新增任务 @Link totalTask:$finishTask:变量的引用。// 任务列表,包含新增任务 @Link totalTask:$finishTask:变量的引用。// 横向布局 主轴/交叉轴,一般只设置主轴,不设置交叉轴。_harmonyos笔记总结
文章浏览阅读3.4k次,点赞5次,收藏33次。Ubutun20.04搭建K8S集群_ubuntu /etc/sysconfig/kubelet