Jmeter系列(28)- 性能指标(1) | 常见性能指标
TPS
概念
TPS (transaction per second):意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。
公式
TPS=事务数/时间(秒)
例子
以单接口定义为事务为例,每个事务包括了如下3个过程:
- a.向服务器发请求
- b.服务器自己的内部处理(包含应用服务器、数据库服务器等)
- c.服务器返回结果给客户端
如果每秒能够完成N次这三个过程,TPS就是N;
---------------------------------------------------------------------------------------------------------------------------------------
QPS
概念
QPS(Queries Per Second):是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询sql的次数),显然,这个不够全面,不能描述增删改,所以,不建议用qps来作为系统性能指标;Query Per Second,是数据库中的概念,每秒执行条数(查询),被引伸到压测中来了,不包括插入、更新、删除操作;
公式
QPS=req/sec=请求数/秒 =总请求数 / ( 进程总数 * 请求时间 ) 单个进程每秒请求服务器的成功次数
峰值QPS=(日PV*80%)/(60*60*24*20%)
---------------------------------------------------------------------------------------------------------------------------------------
QPS与TPS的区别
- QPS对数据库的查询操作,TPS是对页面访问的操作
- 请求归根揭底都是对数据库的增删改查,一个查询请求为一个QPS,多个请求形成一个闭环完成一个页面的访问叫做TPS
- 一个TPS包含多个QPS
---------------------------------------------------------------------------------------------------------------------------------------
吞吐量
概念
单位时间内客户端和服务器成功传递数据的数量,即系统在单位时间内处理请求的数量,TPS、QPS都是吞吐量的常用量化指标。一个系统的吞吐量多少(大小)通常由QPS(TPS)、并发数两大因素决定,每套系统这个两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换,内存等等其他消耗导致系统性能下降
公式
- 从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量
- 从网络角度看,吞吐量可以用:字节/秒来衡量(Jmeter中即是此意思)
- 不同场景,作用说明
- 对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力
- 以不同方式表达的吞吐量可以说明不同层次的问题
- 例子:
- 以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;
- 以请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。
当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系。可以采用以下公式计算:
吞吐量:F=VU * R /T 注解:F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间;业务角度
吞吐量:F=网络上传输的数据量(字节数为单位),吞吐率(RPS):RPS=F/T 注解:网络角度;吞吐量以字节定义时才有吞吐率这么一说;对请求数进行统计是出自业务角度,只有吞吐量
---------------------------------------------------------------------------------------------------------------------------------------
PV
概念:页面访问量,即页面浏览量或点击量,用户每次刷新即被计算一次;和QPS挂钩
日PV=QPS*60*60*24 注解:即QPS乘以一天的秒数
拓展:与 PV 相关的还有 RV,即重复访问者数量(repeat visitors)
---------------------------------------------------------------------------------------------------------------------------------------
并发数
由于并发数计算需要划分不同场景,单独出一篇随笔记录https://www.cnblogs.com/gltou/p/15168252.html
---------------------------------------------------------------------------------------------------------------------------------------
理解且熟记了解
---------------------------------------------------------------------------------------------------------------------------------------
UV
UV(Unique Visitor):独立访客,统计1天内访问某站点的用户数。可以统计服务一天的访问日志并根据用户的唯一标识去重得到。
DAU
DAU(Daily Active User):日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。DAU通常统计一日(统计日)之内,登录或使用了某个产品的用户数(去除重复登录的用户),与UV概念相似
MAU
MAU(Month Active User):月活跃用户数量,指网站、app等去重后的月活跃用户数量
GMV
GMV:是 Gross Merchandise Volume 的简称。只要是订单,不管消费者是否付款、卖家是否发货、是否退货,都可放进 GMV
Jmeter系列(28)- 性能指标(1) | 常见性能指标的更多相关文章
- 性能测试学习之路 (三)jmeter常见性能指标(相关术语、聚合报告 && 服务器性能监控配置 && 图形结果 && 概要报告)
1 性能测试目的 性能测试的目的:验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件. 最后起到优化系统的目的性能测试包括如下几个方面: 1.评估系统的能力:测试 ...
- javaScript系列 [28]
本文介绍JavaScript事件相关的知识点,主要包括事件流.事件处理程序.事件对象(event)以及常见事件类型和事件委托等相关内容. 在网页开发涉及的三种基础技术(HTML CSS JavaScr ...
- 《Visual C++ 2010入门教程》系列六:VC2010常见调试技术
<Visual C++ 2010入门教程>系列六:VC2010常见调试技术 犹豫了好久,最终还是决定开始这一章,因为我不清楚到底有没有必要写这样的一章,是应该在这里说明一些简单的调试方 ...
- css3系列-2.css中常见的样式属性和值
css3系列-2.css中常见的样式属性和值 继续上一篇文章的继续了解css的基础知识,关注我微信公众号:全栈学习笔记 css中常见的样式属性和值 字体与颜色 背景属性 文本属性 边框属性 内外边距 ...
- Jmeter系列(30)- 性能指标(3) | 性能指标峰值
性能指标峰值 简述 彻底理解了性能指标(1)(2)的内容,这一篇随笔其实就不用看了,而且大家也能猜到这一篇内容是啥:二八原则 性能指标不要硬性的往那些性能指标上去靠,要根据业务来,熟悉业务,明白了解你 ...
- Jmeter系列(29)- 性能指标(2) | 并发数
并发数 概念 同时承载正常使用系统功能的用户数量:系统能够同时处理请求的数目. 通过问题详解 问题:网站的并发数,究竟指的同时提交请求的用户数目,还是用户同时提交的请求的数目? 答案:根据这句描述&q ...
- Jmeter系列(21)- 详解 HTTP Request
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html HTTP Request 介绍 用来发 ...
- Jmeter系列(29)- 详解 JDBC Connection Configuration
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 发起 jdbc 请求前,需要有 ...
- Linux内存性能指标、CPU性能指标
内存性能指标 内存基础概念 先执行一下 top 命令,看结果中关于内存的相关部分 # top 其中的 VIRT.RES.SWAP 都是什么呢? 分别是下面的3个概念: 物理内存 Resident - ...
随机推荐
- jumpserver堡垒机(2.4)部署
jumpserver 2.4.0 部署 jumpserver 官网: https://www.jumpserver.org/ Jumpserver介绍 JumpServer 是全球首款完全开源的堡垒机 ...
- 【转】new和malloc的区别
1. 申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存. 自由存储区是C++基于new操作符的一个抽象概念,凡是通过n ...
- 【C++】 四种强制类型转换(static_cast 与 dynamic_cast 的区别!)
强制类型转换 1. static_cast 2. dynamic_cast 3. const_cast 4. reinterpret_cast 5. 为什么要需要四种类型转换? 1. static_c ...
- C# 排序列表(SortedList)
SortedList 类代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问. 排序列表是数组和哈希表的组合.它包含一个可使用键或索引访问各项的列表.如果您使用索引访问各项,则它是一个 ...
- Java从文件路径中获取文件名的几种方法
举例:String fName =" G:\Java_Source\navigation_tigra_menu\demo1\img\lev1_arrow.gif " 方法一: 1 ...
- super的两个作用
super与实例没有什么关系,它本身有两个作用的,参考如下理解: 1.super可以当函数用.super作为函数调用时,表示父类的构造函数.示例: class Par { constructor() ...
- 最新 .NET Core 中 WebSocket的使用 在Asp.Net MVC 中 WebSocket的使用 .NET Core 中 SignalR的使用
ASP.NET MVC 中使用WebSocket 笔记 1.采用控制器的方法 这个只写建立链接的方法的核心方法 1.1 踩坑 网上都是直接 传个异步方法 直接接受链接 自己尝试了好多次链接是打开的,到 ...
- Servlet学习笔记(三)之HttpServletResponse
init() 方法中参数 ServletConfig 对象使用 通过ServletConfig 获得 ServletContext对象 使用 HttpServletRequest 与HttpServl ...
- Linux系统的高级网络配置(bond、team、网桥)
1.bond接口 Red Hat Enterprise Linux 允许管理员使用 bonding 内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定 到一个通道.根据选择的绑定模式 , 通道 ...
- 人生重开模拟器「GitHub 热点速览 v.21.36」
作者:HelloGitHub-小鱼干 人生是不能重来的,但是 lifeRestart 能满足你的重开心愿.初始值不满意,你可以一直随机生成或者自动添加颜值.智力.运气值,倒是一种"重生&qu ...