超全汇总,性能测试常用指标大全(重要)

news2024/11/18 1:36:48

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

两种性能指标

业务指标;
技术指标;

通常我们会从两个层面定义性能场景的需求指标,它们有映射关系,技术指标不能脱离业务指标

1、并发

狭义:
指同一个时间点执行相同的操作(如:秒杀)
广义:
同一时间点,向服务器发起的请求(可能是不同的请求)
只要向服务器发起请求,那么服务器在这一时间点内都会收到请求(不管是不是同一个请求)

场景类比
高速公路上,同时有多少辆车经过同一个关卡,但不一定是同一个牌子的汽车

并发用户数(重点)

同一时间点,发出请求的用户数,一个用户可以发出多个请求;
场景不一定是同一个;
和 CPU、响应时间有关系;

和并发的关系
假设有 10 个用户数,每个用户同一时间点内发起 2 个请求,那么服务器收到的请求并发数就是 20。

性能测试场景1
不同身份的用户,访问不同的页面或发起不同的请求(广义的并发);
观察 CPU 使用率和响应时间;

性能测试场景2
所有用户,同一个时间点发送同一个请求(狭义的并发);
观察 CPU 使用率和响应时间;

系统用户数
系统累计注册用户数,不一定在线;
注册之后也可以一直不在线;
因为用户信息是存在数据库的,而数据库数据就是存在磁盘中,所以系统用户数和磁盘空间有关系;

性能测试场景
写一个脚本添加很多条用户信息插入到数据库;
目的:测试系统容量,方便了解系统的最大容量;
实际项目中,当系统容量接近最大容量时,系统需要进行容量扩容(加磁盘空间),否则就会爆掉;

在线用户数
在线用户可能是正常发起请求,也可能只是挂机啥操作都没有,不一定同时做某一件事情;
在线用户可能是游客(未注册的用户),也可能是系统用户(已注册的用户);
在线用户数≠并发用户数;
和内存有关系

性能测试场景
使用 Jmeter 让不同的用户不断上线,且不下线和发起其他请求,看看内存使用情况;
实际场景:12306 以前很多用户在线,响应时间会拉的很长;

线程数
在 jmeter 中,线程数和并发用户数等价【和CPU、响应时间有关系】

2、事务

客户端向服务器发送请求,然后服务器做出响应的过程;
登录、注册、下单等功能都属于一个事务;
一个事务可能会发起多个请求;

jmeter 相关
jmerter 中,默认一个接口请求,就是一个事务;
但也支持多个接口整合成一个事务;

注意点
若一个业务或事务有多个接口,那么多个单接口的性能指标值相加 ≠ 业务或事务的性能指标值

3、响应时间

响应时间对于性能测试来说
从发起请求到收到请求响应的时间;
包含了:Request Time 和 Response Time;
等价于:发起请求网络传输时间 + 服务器处理时间 + 数据库系统处理时间 + 返回响应网络传输时间;

对用户所感知的响应时间包括
用户客户端渲染时间(多了这个);
请求/响应数据网络传输时间;
应用服务器处理时间;
数据库系统处理时间;

重点
在做性能测试时,要尽可能的降低网络传输时间,这样最终得出的 RT 会无限接近服务器处理时间,所以我们要把网络环境搞好

事务请求响应时间
完成单个事务所用的时间,可能包含了多个请求

假如用户说应用很慢,要怎么分析?(仅供参考)
单个用户慢?还是多个用户慢?手上只有我们自己的应用慢?还是所有应用都这么慢?
网络问题的话,带宽是用哪家营业商?不同营业商是不是都卡?还是只有用户所在的营业商卡?
…等等等

响应时间多少合理?
标准是:2、5、8
2秒:很好
5秒:可以接受
8秒:不能接受

4、TPS(最主要的指标)

服务器每秒处理事务数,衡量服务器处理能力的最主要指标

知道 T 是如何定义的
在不同的行业、业务中,TPS 定义的颗粒度可能是不同的;
所以不管什么情况下,需要做性能测试的业务的相关方都要知道你的 T 是如何定义的 ;

定义 TPS 的粒度
一般会根据场景的目的来定义 TPS 的粒度;
接口层性能测试:T 可以定义为接口级;
业务级性能测试:T 可以定义为每个业务步骤和完整的业务流;

如果要单独测试接口 1、2、3,那么 T 就是接口级

如果从用户角度下订单,那 1、2、3 都在一个 T 中,就是业务级

结合实际业务设计,库存服务一定是同步,而积分服务可以是异步,所以这个下单业务,可以只看作由 1、2 这两个接口组成,但是 3 接口还是要监控分析的

所以,性能中 TPS 中 T 的定义取决于场景的目标和 T 的作用

接口级脚本
——事务 start(接口 1)
接口 1 脚本
——事务 end(接口 1)
——事务 start(接口 2)
接口 2 脚本
——事务 end(接口 2)
——事务 start(接口 3)
接口 3 脚本
——事务 end(接口 3)

业务级接口层脚本(就是用接口拼接出一个完整的业务流)
——事务 start(业务 A)
接口 1 脚本 - 接口 2(同步调用)
接口 1 脚本 - 接口 3(异步调用)
——事务 end(业务 A)

用户级脚本
——事务 start(业务 A)
点击 0 - 接口 1 脚本 - 接口 2(同步调用)
点击 0 - 接口 1 脚本 - 接口 3(异步调用)
——事务 end(业务 A)

一般情况下,我们会按从上到下的顺序一一来测试,这样路径清晰地执行,容易定位问题

5、QPS

每秒查询率,在数据库中每秒执行 SQL 数量
一个请求可能会执行多条 SQL
某些企业可能会用QPS代替TPS
也是衡量服务端处理能力的一个指标,但不建议使用

RPS
简单理解:每秒请求数,用户从客户端发起的请求数

深入挖掘:对于请求数来说,也要看是哪个层面的请求

如果一个用户点击了一次,发出来 3 个 HTTP Request,调用了 2 次订单服务,调用了 2 次库存服务,调用了 1 次积分服务

问:Request 数量如何计算
答:3+2+2+1 = 8?
不, 应该是 3,因为发出了 3 个 Request,而调用服务会有单独的描述,以便做性能统计

6、HPS

点击率,每秒点击数
可直接理解为用户在界面上的点击次数
一般在性能测试中,都用来描述 HTTP Request,那它代表每秒发送 HTTP 请求的数量,和 RPS 概念完全一样
HPS 越大对 Server 的压力越大

7、CPS/CPM
每秒/每分钟调用次数
通常用来描述 Service 层的单位时间内被其他服务调用的次数

TPS、QPS、RPS、HPS、CPS 的总结
有很多维度可以衡量一个系统的性能能力,但是如果把五个指标同时都拿来描述系统性能能力的话,未必太混乱了

可以这样做
用 TPS 来统一形容系统的性能能力,其他的都在各层面加上限制条件来描述。

比如说:接口调用 1000 Calls/s
在团队中要定义清楚术语的使用场景,还有含义

吞吐量(Throughput)
单位时间内,网络处理的请求数量(事务/s)
网络没有瓶颈时,吞吐量≈TPS

吞吐率
单位时间内,在网络传输的数据量的平均速率(kB/s)

资源利用率
服务器资源的使用程度,比如服务器(应用、服务器)的CPU利用率,内存利用率,磁盘利用率,网络带宽利用率
一般不超过80%

Think Time 思考时间
从业务角度看
它指的是用户进行操作时,每个请求之间的时间间隔
比如:加入购物车后,多久之后会点击下单?浏览一个商品多久会加入购物车

从性能测试角度看
为了模拟用户两次操作之间的时间间隔,才有 Think Time,更加真实的模拟用户的真实操作
它和用户行为有关系,所以应该分析的是用户行为而非用户数

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要你有梦想,就一定要去追求它。不要停下脚步,不要放弃努力,因为只有坚持不懈的奋斗,才能成就伟大的人生。让自己的每一天都充满热情和动力,向着目标勇往直前!

每一次的努力,都是为了成就更好的自己;每一天的拼搏,都是在追逐更美好的未来。没有放弃,就有希望;没有停留,就有可能。让我们积极向前,永不言败!

生活无需匆忙,但必须坚定前行;成功不是偶然,而是付出的结果;失败并不可怕,只要勇于再次尝试;每一天都是新的开始,让自己成为更好的版本。

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

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

相关文章

Java又双叒叕“凉”了?

前几天,TIOBE的一份6月编程语言榜单公布:Java退出前三,位居第四。一波Java凉了的言论甚嚣尘上。其实不止Java,python、C、C,哪一个没被提过“凉”... 而现实是,Java的招聘需求依然很大: 不可否…

C++静态和动态链接库导出和使用

1、简介 代码开发过程中会遇到很多已有的函数库,这些函数库是现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种…

便携式水质自动采样器助力毒情监测

便携式水质自动采样器可助力毒情监测: 污水涉毒采样检测工作是运用科技手段准确评估监测辖区内毒情形势的重要手段。期间,民警详细了解了生活和工业污水的处理、排放以及服务范围、人口数量等情况,并就污水涉毒采样检测工作达成共识。随后&am…

revit中用幕墙来绘制瓦片屋面和生成土钉墙

一、revit中用幕墙来绘制瓦片屋面 层层叠叠的瓦片在我们绘制时具有复杂性,瓦片既美观又满足一些建筑的需要,下面教大家一个用幕墙来绘制瓦片屋面。 新建一个族样板选择公制轮廓—竖挺,绘制我们的瓦片形状 简单的绘制一个瓦片的形状&#xff0…

JVM学习整理(一)

一、JVM的基本介绍 JVM 是 Java Virtual Machine 的缩写,它是一个虚构出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现 好,其实抛开这么专业的句子不说,就知道JVM其实就类似于一台小电脑运行在windows或…

ruoyi-vue前后端分离项目实现一体化打包(前后端合并打包)

场景 现在要对ruoyi-vue前后端分离项目,进行一体化打包,即 将前后端项目打在一个jar里面 一体化打包优点 不需要再使用nginx,直接将前端文件放到后端项目里面 改造ruoyi-vue项目 后端改造 1、引入依赖spring-boot-starter-thymeleaf &…

倒计时 1 天 | SphereEx 在 2023 亚马逊云科技中国峰会等你来打卡!

2023 年 6 月 27 - 28 日, “因构建而可见” 2023 亚马逊云科技中国峰会将在上海隆重举行,SphereEx 将携面向新一代数据架构的数据库增强引擎:SphereEx-DBPlusEngine 亮相亚马逊云科技中国峰会,展示分布式数据库、数据安全、信创替…

FFmpeg视频转码关键参数详解

1 固定码率因子crf(Constant Rate Factor) 固定码率因子(CRF)是 x264 和 x265 编码器的默认质量(和码率控制)设置。取值范围是 0 到 51,这其中越低的值,结果质量越好,同…

实力见证丨酷雷曼VR再获2项国家发明专利

近日,酷雷曼公司(北京同创蓝天云科技有限公司)再次喜获两项发明专利证书:“VR多端协同交互方法及相关设备”、“VR展示用户操作方法及相关设备” 。两项专利均基于酷雷曼3D VR系统发明,进一步优化了目前VR全景触控界面互动性及交互…

企业所得税高是怎么回事?该如何解决?

企业所得税高是怎么回事?该如何解决? 《税筹顾问》专注于园区招商、企业税务筹划,合理合规助力企业节税! 企业所得税高,一般企业都会运用一些税务筹划的方式来解决,那么事前的规划和搭建好业务框架就显得尤为重要。真…

FFmpeg初识

一、简介 它的官网为:https://ffmpeg.org/,由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。该人是个牛人,在很多领域都有很大的贡献。 FFmpeg是多媒体领域的万能工具。只要涉及音视频领域…

第43步 深度学习图像识别:InceptionResnetV2建模(Tensorflow)

基于WIN10的64位系统演示 一、写在前面 (1)InceptionResnetV2 InceptionResNetV2是一种由Google研究人员开发的深度学习模型,是一种混合了Inception和ResNet(残差网络)两种结构的卷积神经网络(CNN&#…

通过cifar-10数据集理解numpy数组的长(H)、宽(W)、通道(C)

文章目录 1、CIFAR-10数据集介绍1.1 CIFAR-10数据集的构成1.2 batches.meta1.3 data_batch_n.py & test_batch.py 2、获取一张图片的data数据2.1 反序列化获得numpy数据2.2 清楚numpy中的H、W、C的含义2.3 清楚RGB图片在numpy中的表示 3、处理图片数据的代码 1、CIFAR-10数…

渗透测试实战-BurpSuite 使用入门

前言 近期笔者在学习 web 渗透测试的相关内容,主要是为了公司之后的安全产品服务。渗透测试本身在学习过程中还是很有意思的,有一种学习到了之前想学但是没学的黑客技术的感觉,并且对笔者已掌握的许多知识做了有益的补充。要学习渗透测试&…

ThinkPHP 对接美团大众点评团购券(门票)

一、功能简要介绍 1、根据需求,用户在美团大众点评中所购买的门票在自己的系统上可以核销,同时把核销信息存储到自己的系统里。2、美团点评API文档地址:[https://open.dianping.com/document/v2?rootDocId5000](https://open.dianping.com/…

PostgreSQL13.1

目录 1. PostgreSQL简介1.1 PostgreSQL是什么?1.2 PostgreSQL数据库的优缺点是什么?1.2.1 PostgreSQL的主要优点如下:1.2.2 PostgreSQL的应用劣势如下: 1.3 PostgreSQL不同大版本之间的特性比较1.4OpenGauss与PostgreSQL的对比1.4…

管理类联考——逻辑——知识篇——分析推理——三、分组——haimian

分组 题型特征 题干给出5-7个对象和2-5个限制条件,需根据题干要求分为2~3组。要注意题干中需分为几组,每组几个对象,对象有哪些限制因素,并灵活运用排除法、假设法、分析法、数字法、假言命题性质等方法解题。 思维导图 思路点…

技术管理第三板斧招聘与解聘-找到人

1.人才要自己去找、去抢 从团队的角度出发,Leader“主动出击、寻找合适人选”的观念符合逻辑,你既然是团队的一号位,自然最应该了解团队现状,以及团队需要的人选。与此同时,找到合适的人对你的影响最大而非 HR&#x…

大势智慧软硬件技术答疑第四期

1.重建大师是否支持bigmap绘制的范围线? 答:目前重建大师仅支持面格式的,bigmap的还没试验过,globalmapper或者arcgis是可以的。 2.为什么6.1建模的时候引擎一直是等待呢? 答:检查一下引擎面板引擎监控目录…

软件测试人员应该如何介绍自己测试过的项目工作【商城项目实战讲解】

测试人员在找工作的过程中,通常有一个问题是很难绕开的。就是要如何向别人介绍自己之前做过的项目。下面我们就这个问题简单的做一些分析。 要解决这个问题,大体上可以分为如下几个步骤: 1、对项目进行基本介绍 2、说明自己负责测试的模块 …