两种性能指标(业务指标+性能指标)

一、业务指标

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

并发

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

场景类比

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

一、并发用户数(重点)

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

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

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

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

二、系统用户数

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

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

三、在线用户数

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

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

四、线程数

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

五、事务

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

注意点

jmerter 中,默认一个接口请求,就是一个事务;但也支持多个接口整合成一个事务
若一个业务或事务有多个接口,那么多个单接口的性能指标值相加 ≠ 业务或事务的性能指标值

二、技术指标

常见的技术指标

一、 响应时间(Respose Time)

响应时间对于性能测试来说

  1. 从发起请求到收到请求响应的时间
  2. 包含了:Request Time 和 Response Time
  3. 等价于:发起请求网络传输时间 + 服务器处理时间 + 数据库系统处理时间 + 返回响应网络传输时间

对用户所感知的响应时间包括

  1. 用户客户端渲染时间(多了这个)
  2. 请求/响应数据网络传输时间
  3. 应用服务器处理时间
  4. 数据库系统处理时间

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

二、事务请求响应时间

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

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

三、TPS(Transaction Per Second,最主要的指标)

服务器每秒处理事务数,衡量服务器处理能力的最主要指标
知道 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)

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

四、QPS(Queries per Second)每秒查询率

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

五、RPS(Request per Second)每秒请求数

简单理解,每秒请求数,用户从客户端发起的请求数
深入挖掘,对于请求数来说,也要看是哪个层面的请求,把上面的图做一点点变化来描述请求数

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

问:Request 数量如何计算

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

六、HPS(Hit per Second)点击率,每秒点击数

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

七、 CPS/CPM(Calls Per Second/ Calls Per Minutes)

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

栗子
上图的订单服务、库存服务、积分服务,各调用了2、2、1次,还是比较好理解的

常用术语:

吞吐量(Throughput)

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

吞吐率

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

资源利用率

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

Think Time 思考时间

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

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

本篇博文,部分参考了https://www.cnblogs.com/poloyy/p/13130623.html

5)-常用性能测试指标相关推荐

  1. 7个常用的网络性能测试指标

    网络性能测试指标是用来反映网络情况好坏的数据,这些关系到上网时体验的好坏,所以网络提供商需要不断检测以保证用户上网的正常体验,通常来说常用的网络西能指标有以下7个,关于这些指标以及其他一些相关指标,点 ...

  2. linux 测试内存性能,Linux性能测试指标评估

    Linux性能测试指标评估 一.影响Linux服务器性能的因素 1. 操作系统级 · CPU · 内存 · 磁盘I/O带宽 · 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 其 ...

  3. 转:性能测试中的性能测试指标与用户体验分析

    转自:http://www.ltesting.net/ceshi/ceshijishu/xncs/2012/0223/204182_2.html 性能测试中的性能测试指标与用户体验分析 网络应用性能分 ...

  4. 网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解

    常用的网站性能测试指标有:吞吐量.并发数.响应时间.性能计数器等. 并发数 并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力. 响应时间 响应时间是一个系统最重要的指标之一,它的数值大 ...

  5. 网站性能测试指标:QPS、TPS、吞吐量、响应时间概述

    常用的网站性能测试指标有:并发数.响应时间.吞吐量.性能计数器等. 一.并发数 并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力. 二.响应时间 响应时间是一个系统最重要的指标之一,它 ...

  6. 性能测试指标及测试方法

    一.性能测试指标 1.响应时间:发出请求到最后请求响应的时间. 测试程序通过模拟应用程序, 记录收到响应和发出请求之间的时间差来计算系统响应时间.但是记录及获取系统时间这个操作也需要花费一定的时间, ...

  7. 性能测试指标和报告解析

    性能测试指标和报告解析 前言 一.概述 二.指标内容 1.性能指标 2.报告解析 总结 前言 记录性能测试中的指标. 一.概述 性能测试过程中,常常困扰于指标具体含义.特别是拿到测试报告后,都是英文简 ...

  8. 【性能测试】性能测试之性能测试指标详解(详细)

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  9. Jmeter性能测试指标

    一.性能测试概念 性能:事务.物品的某些特性的评价值 性能测试:通过测试工具模拟多种正常.峰值及异常负载条件来对系统的各项性能指标进行测试 二.性能测试指标 性能指标分为两个方面: 系统指标(与用户场 ...

最新文章

  1. 72、android状态栏一体化,状态栏改变颜色
  2. Linux 下编译并运行C语言程序
  3. 千亿级的数据难题,优酷工程师怎么解决?
  4. Python函数合集:68个内置函数请收好!
  5. Ubuntu16.04 安装简述
  6. 建立唯一索引后mysql策略_【MySQL】MySQL索引背后的之使用策略及优化【转】
  7. 历史上的今天:ATT 成立;全球最大分布式计算项目正式停止;家酿俱乐部首次会议...
  8. 【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
  9. android studio 登录与注册,Android Studio登录/注册系统构想
  10. 车载双目相机,老兵的二次出征
  11. 聊城初中计算机考试成绩查询,聊城市初中学业水平考试成绩查询系统入口2021...
  12. 华为eNSP静态路由下一跳实验
  13. C语言中数组和字符串长度以及输入输出详解
  14. 解决make: *** [install-recursive] Error 1问题
  15. FreeRTOS中多种信号量
  16. 【飞桨】GAN:U-GAT-IT【2020 ICLR】论文研读
  17. Maven从入门到精通
  18. python网络课程答案_Python语言应用知到网课答案
  19. 字符串指针——指向字符串的指针
  20. 大丰银行:银行IPO被否第一家,宣告商业银行IPO的审核标准发生了重大变化

热门文章

  1. macOS npm -g 安装路径
  2. 【做题】BZOJ2534 L-gap字符串——调和级数
  3. HFSS 带状线仿真(HFSS和3D LAYOUT的比较)
  4. 物体围绕某个点旋转一定角度
  5. 微信小程序 修改键盘的回车键
  6. 安卓udp编辑软件_IOS安卓7000+全球电视节目分享
  7. python数据分析,用python对excel表格操作
  8. mac上的PowerDesigner(PDM)
  9. 既要便捷、安全+智能,也要颜值,萤石发布北斗星人脸锁DL30F和极光人脸视频锁Y3000FV
  10. 妙味课堂H5音乐播放器实战视频课程 ajax实战教程