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 - ...
随机推荐
- 【LeetCode】88. 合并两个有序数组
88. 合并两个有序数组 知识点:数组:排序:双指针: 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 ...
- Android 11(R) Power HAL AIDL简析 -- 基本接口
Android 11(R) Power HAL AIDL将分三篇文章来介绍: Android 11(R) Power HAL AIDL简析 -- 基本接口 Android 11(R) Power HA ...
- join控制线程的执行循序 T1 -> T2 -> T3
/** * 控制线程的执行循序 T1 -> T2 -> T3 * join实现 */ public static void join(){ Thread t1 = new Thread(( ...
- Synchronized和ReentranLock的区别
1.底层实现上来说? Synchronized是JVM层面的锁,是Java关键字,通过monitor对象来完成. ReentranLock是API层面的锁底层使用AQS. 2.是否可手动释放锁? sy ...
- C#基础知识---获取调用者信息
一.概述 C#5.0提供了一种新功能,可以利用特性和可选参数获得调用者的信息.这些特性信息包括CallerLineNumber.CallerFilePath和CallerMemberName. 二.D ...
- Qt 的MDI 多文档窗口
一.MDI简介 MDI就是多文档界面(Multi-document Interface,MDI)应用程序 MDI就是在主窗口里创建多个同类型的MDI子窗口,这些MDI子窗口在主窗口里显示,并共享主窗口 ...
- 天地图API加载ArcGIS Server服务
发布的服务需要选择WMS功能 wmsLayer = new T.TileLayer.WMS("http://127.0.0.1:6080/arcgis/services/Demo/Defau ...
- css - 行高
css - 行高 line-height行高 取值:px | em | rem | 百分比 | 纯数字 | normal | inherit 设置给:块.行内.行内块 应用给:文本 继承:块.行内.被 ...
- IDEA快捷键命令
Ctrl+Alt+T IDEl 抛异常快捷键ctrl +o 继承类时 继承方法快捷键Ctrl+Alt+左右方向键 回到上次光标停留的地方ALt +left/right 快速切换两个页面ctr ...
- 高德地图&兴趣点(poi)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...