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 - ...
随机推荐
- Kali 2.0 安装教程
本文适合KALI初学者,将详细介绍Kali Linux 2.0的安装过程. 首先我们到KALI的官网下载镜像,大家可以自己选择下载32或64位的KALI 2.0系统. KALI 官网:https:// ...
- DNS的正向解析与反向解析
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...
- Innodb中怎么查看锁信息
一.前言 上一篇说了下innodb中锁的大概意思, 这篇说说怎么查看加的哪些锁.不然后续出现死锁或者锁等待都不知道为什么. 二.底层基础表信息 在学会如何查看有哪些锁信息时, 需要了解一些基础表信息, ...
- SpringBoot集成websocket(java注解方式)
第一种:SpringBoot官网提供了一种websocket的集成方式 第二种:javax.websocket中提供了元注解的方式 下面讲解简单的第二种 添加依赖 <dependency> ...
- 异步编程async体会
namespace 异步编程{ class Program { static void Main(string[] args) { Console.WriteLine("mian this ...
- WPF---依赖属性(一)
一.概要 C#中属性是抽象模型的核心部分,而依赖属性是专门针对WPF的. 在WPF库实现中,依赖属性使用普通的C#属性进行了包装,使得我们可以通过和以前一样的方式来使用依赖属性. 依赖属性优点如下: ...
- css - rem和vw
css - rem和vw 物理像素 物理像素在不同的设备中1px里可以容纳的像素颗粒是不相同的,所以1px这个单位其实也是有N个像素颗粒填充的.同一尺寸屏幕的每个像素点所能容纳的像素颗粒越多显示效果越 ...
- mybatis传入参数为0被误认为是空字符串的解决方法
在mbatis中使用Xml配置sql语句时,出现了这样一个问题.当我传入的参数为0去做判断时,mybatis会把参数0当成是空字符串去判断而引起查询结果错误 所以在做项目时一定要注意,用到MyBati ...
- 786. 第k个数
题目传送门 一.理解感悟 1.这是快速排序模板的练习题. 2.不一样的地方在于它可以利用快排模板,但却不需要真的把所有数据排序完成,每次一分为二后,只关心自己所有的那一半,就是可以节约一半的递归. 3 ...
- PyCharm——滚动鼠标调整字体大小