性能测试系列(3)-常用的性能指标,对性能指标的解释

摘要:
但是这个RPS是3并不是2+2+2HPS点击率,每秒点击数有直接理解为用户在界面上的点击次数一般在性能测试中,都用来描述HTTPRequest,那它代表每秒发送HTTP请求的数量,和RPS概念完全一样HPS越大对Server的压力越大CPS/CPM每秒/每分钟调用次数通常用来描述Service服务层的单位时间内被其他服务调用的次数(就是说用户在那一秒点击一次,然后发送了3个请求,这3个请求分别调了A服务,B服务,C服务各自两次。
性能指标有两种
  • 业务指标
  • 技术指标

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

性能测试系列(3)-常用的性能指标,对性能指标的解释第1张

并发

狭义理解

  • 指同一个时间点执行相同的操作(如:秒杀)

广义理解

  • 同一时间点,向服务器发起的请求(可能是不同的请求)
  • 只要向服务器发起请求,那么服务器在这一时间点内都会收到请求(不管是不是同一个请求)
并发用户数(重点)
  • 同一时间点,发出请求的用户数,一个用户可以发出多个请求

和并发的关系

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

相关概念

  • 系统用户数:系统累计注册用户数,不一定在线
  • 在线用户数:在线用户可能是正常发起请求,也可能只是挂机啥操作都没有【在线用户数并发用户数】
  • 线程数:在 jmeter 中,线程数和并发用户数等价
事务
  • 客户端向服务器发送请求,然后服务器做出响应的过程
  • 登录、注册、下单等功能都属于一个事务
  • 一个事务可能会发起多个请求

jmeter相关

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

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

看看还有哪些性能指标值

性能测试系列(3)-常用的性能指标,对性能指标的解释第2张

响应时间(response time)
  • 概念:从发起请求到收到请求响应的时间
  • 包含:Request Time 和 Response Time
  • 等价:发起请求网络传输时间 + 服务器处理时间 + 返回响应网络传输时间

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

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

TPS(Transaction Per Second,最主要的指标)
  • 服务器每秒处理事务数,衡量服务器处理能力的最主要指标

T是如何定义的

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

定义TPS颗粒度

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

举例

性能测试系列(3)-常用的性能指标,对性能指标的解释第3张

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

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

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

如何去测试

按照接口级脚本----业务级接口层脚本 ----- 用户级脚本 去调用去测试

QPS(Queries per second)
  • 每秒查询率,在数据库中每秒执行 SQL 数量
  • 一个请求可能会执行多条 SQL
  • 某些企业可能会用QPS代替TPS
  • 也是衡量服务端处理能力的一个指标,但不建议使用
RPS(Request per second)
  • 简单理解(每秒请求数,用户从客户端发起的请求数)
  • 就是说用户在那一秒点击一次,然后发送了3个请求,这3个请求分别调了A服务,B服务,C服务各自两次。但是这个RPS是3 并不是2+2+2
HPS(Hit per second)
  • 点击率,每秒点击数
  • 有直接理解为用户在界面上的点击次数
  • 一般在性能测试中,都用来描述HTTP Request,那它代表每秒发送 HTTP 请求的数量,和 RPS 概念完全一样
  • HPS 越大对 Server 的压力越大
CPS/CPM
  • 每秒/每分钟调用次数
  • 通常用来描述 Service服务 层的单位时间内被其他服务调用的次数 (
    • 就是说用户在那一秒点击一次,然后发送了3个请求,这3个请求分别调了A服务,B服务,C服务各自两次。然后这个分别是 2 ,2 ,2次
    )
吞吐量(Throughput)
  • 单位时间内,网络处理的请求数量(事务/s)
  • 网络没有瓶颈时,吞吐量≈TPS
资源利用率
  • 服务器资源的使用程度,比如服务器(应用、服务器)的CPU利用率,内存利用率,磁盘利用率,网络带宽利用率
  • 一般不超过80%

免责声明:文章转载自《性能测试系列(3)-常用的性能指标,对性能指标的解释》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇七大查找算法iOS:地图笔记下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Dubbo分布式日志追踪

尝试{returninvoker.invoke(invoke);}最后{MDC.remove(“traceId”);}}/**获取UUID*@returnStringUUID*/publicStringgetUUID(){Stringuuid=UUID.randomUUID(().toString();...

VSCode, 当今最流行的免费开源代码编辑器,微软出品,必属精品

Visual Studio代码是一个轻量级但功能强大的源代码编辑器,可以在桌面上运行,可以用于Windows、MacOS和Linux。直接在编辑器中检查差异,暂时保存文件并提交。Visual Studio代码产品在初始操作中的内部代码控制可以通过编辑器内的SCM支持(包括丰富的Git集成)加快发布周期。用户界面-介绍VSCode编辑器的基本UI、命令和功能。...

《学习opencv》笔记——矩阵和图像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv

矩阵和图像的操作cvAnd函数其结构voidcvAnd;程序实例#include#include#includeintmain{IplImage*src1,*src2,*src3;src1=cvLoadImage;src2=cvLoadImage;src3=cvLoadImage;cvAnd;cvShowImage;cvShowImage;cvShowIma...

springMVC使用map接收入参 + mybatis使用map 传入查询参数

测试示例:控制器层使用映射来接收请求参数。从Debug中可以看到,请求中的参数值都是字符串形式。如果接收参数的映射直接传输到服务,mybatis将在接收参数时报告错误。因此,您需要首先对请求中的参数1packageorg.slsale进行预处理。测验23导入java.util。日期4导入java.util。HashMap;5导入java.ut...

【转】 中兴OLT-C300常用命令

在当前的C220版本中,ONU类型名称在GPON和EPON中应该是唯一的。这里我们使用“ZTEG-F620”。ZXAN#ponZXAN#onu-typegponZTEG-F620描述4ETH,2POTSZXAN#onu-ifZTEG-F620eth_0/1-4ZXAN#onon-ifZTEG-F620pots_0/1-2ZXAN#on u type attr...

NFC应用于公交卡

由于历史遗留,NFC的兼容性实在太差。一个完备的NFC产品,应该包括三个部分:NFC硬件、统一的系统接口支持、App。这种情况下,手机NFC相当于公交公司的读卡和写卡器。...