QPS、TPS、RT、并发数、吞吐量分别是什么意思

news2024/10/6 0:34:21

首先,他们都是高并发系统中的系统指标

一、QPS:每秒查询

QPS(Queries Per Second):是衡量信息检索系统(例如搜索引擎或数据库)在一秒钟内接收到的搜索流量的一种常见度量。该术语在任何请求-响应系统中都得到更广泛的使用,更正确地称为每秒请求数(RPS:Request Per Second)。

二、TPS:每秒事务

TPS(Transactions Per Second):事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户端向服务器发送请求然后服务器做出响应的过程。客户端在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

三:RT响应时间

RT(Response-time)响应时间:执行一个请求从开始到最后收到响应数据所花费的总体时间,即从客户端发起请求到收到服务器响应结果的时间。该请求可以是任何东西,从内存获取,磁盘IO,复杂的数据库查询或加载完整的网页。

暂时忽略传输时间,响应时间是处理时间和等待时间的总和。处理时间是完成请求要求的工作所需的时间,等待时间是请求在被处理之前必须在队列中等待的时间。

响应时间是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。

四、Concurrency,并发数

并发数是指系统同时能处理的请求数量,这个也反应了系统的负载能力。

并发意味着可以同时进行多个处理。并发在现代编程中无处不在,网络中有多台计算机同时存在,一台计算机上同时运行着多个应用程序。

五、吞吐量

系统的吞吐量(承压能力)和处理对CPU的消耗、外部接口、IO等因素紧密关联。单个处理请求对CPU消耗越高,外部系统接口、IO速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量有几个重要指标参数:QPS(TPS)、并发数、响应时间。

  1. QPS(TPS):(Queries Per Second)每秒钟请求/事务数量。
  2. 并发数: 系统同时处理的请求/事务数。
  3. 响应时间: 一般取平均响应时间。

理解了上面三个指标的意义之后,就能推算出它们之间的关系:

  • QPS(TPS)= 并发数/平均响应时间
  • 并发数 = QPS*平均响应时间

六、实际举例

我们通过一个实例来把上面几个概念串起来理解。按二八定律来看,如果每天 80% 的访问集中在 20% 的时间里,这 20% 的时间就叫做峰值时间。

  • 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
  • 机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器
  1. 每天300w PV 的在单台机器上,这台机器需要多少QPS?
    ( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)
  2. 如果一台机器的QPS是58,需要几台机器来支持?
    139 / 58 = 3

七、最佳线程数、QPS、RT

1、单线程QPS公式:QPS=1000ms/RT
对同一个系统而言,支持的线程数越多,QPS越高。假设一个RT是80ms,则可以很容易的计算出QPS,QPS = 1000/80 = 12.5。

多线程场景,如果把服务端的线程数提升到2,那么整个系统的QPS则为 2*(1000/80) = 25,可见QPS随着线程的增加而线性增长,那QPS上不去就加线程呗,听起来是这个道理,但是往往现实并非如此。

2、QPS和RT的真实关系

我们想象中的QPS、RT关系如下,

实际的QPS、RT关系如下,

 

3、最佳线程数量
刚好消耗完服务器的瓶颈资源的临界线程数,公式如下
最佳线程数量=((线程等待时间+线程cpu时间)/ 线程cpu时间)* cpu数量
特性:

  • 在达到最佳线程数的时候,线程数量继续递增,则QPS不变,而响应时间变长,持续递增线程数量,则QPS开始下降。
  • 每个系统都有其最佳线程数量,但是不同状态下,最佳线程数量是会变化的。
  • 瓶颈资源可以是CPU,可以是内存,可以是锁资源,IO资源,超过最佳线程数-->导致资源的竞争,超过最佳线程数-->响应时间递增。

QPS 和  TPS区别

QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。如,访问一个页面会请求服务器2次,一次访问,产生一个“T”,产生2个“Q”。

参考文章:一文搞懂高并发性能指标:QPS、TPS、RT、并发数、吞吐量 - 知乎 (zhihu.com) 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/950172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

踏进字节的那一瞬间,我泪目了,这457天的外包经历值了....

一年半吗?我只记得437个日日夜夜 没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力幸运,但如果你不够幸运,那就只能拉高努力的占比。 2021年8月,我有幸成为了字节跳动…

【核心复现】基于合作博弈的综合能源系统电-热-气协同优化运行策略(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【0830 QT作业】QT第一个程序、创建登录框(代码实现)

一、QT第一个程序 结构介绍 1.1 QT程序结构 1.2 .pro QT core gui sql network # QT:工程所需的类库 # :作为连接,后面可添加库,以空格隔开 # core:核心库 # gui :图形化界面相关类库 # sql &…

火热的大模型AIGC对数据中心存储趋势有什么影响?

随着人工智能和大数据技术的不断发展,业内AIGC(人工智能、图形处理和云计算)和大模型的发展趋势正在对数据中心存储发展方向产生深远的影响,主要集中对数据量和高性能计算的诉求。 大模型的普及要求数据中心存储具备更大的容量。大…

报错 - net::ERR_ABORTED 500 (Internal Server Error)

报错:net::ERR_ABORTED 500 (Internal Server Error) 根据提示找到对应文件 解决:检查代码,根据高亮颜色判断,发现箭头函数漏了一个>。 报错:Uncaught TypeError: Assignment to constant variable. 原因&#x…

计算机毕设之Python的高校成绩分析(含文档+源码+部署)

本系统阐述的是一个高校成绩分析系统的设计与实现,对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体架构。…

【C++】SLT——Vector详解

本片要分享的是关于STL中Vector的内容,Vector的内容于string非常相似,只要会使用string那么学习Vector时会非常流畅。 目录 1.vector介绍 2.vector的简单实用 2.1.简单的无参构造 ​编辑2.2.简单带参构造 2.3.迭代器区间初始化 2.4.vector的遍历 …

c++学习之vector的实现

在学习实现vector之前我们会看到对于库中的vector的实现,这里并非使用在学习string那样的定义方式,而是利用迭代器,也就是指针来实现的,这在功能的实现时极大的方便了我们。 那么我们就模仿库这样的方式实现我们呢经常会用到的一些…

Vision Transformer(vit)原理分析以及特征可视化

目录 Vit简介 Vit model结构图 vit输入处理 图像分块 class token与position的添加 特征提取 vit代码 Vit简介 Vision Transformer(ViT)是一种基于Transformer架构的深度学习模型,用于图像识别和计算机视觉任务。与传统的卷积神经网络…

【spring】一文带你弄懂Spring Bean的生命周期(超详细,超级通俗易懂!!)

目录 首先让我们来回顾一下Spring中的Bean是什么 Bean的生命周期 然后让我们由浅及深的对Bean的创建过程进行了解 首先来看最核心的五步骤 然后让我们逐层递进,学习一下七步骤版本吧 现在我们就可以进一步了解十步骤的版本(完整的生命周期&#xff…

Java“牵手”1688商品列表数据,关键词搜索1688商品数据接口,1688API申请指南

1688商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取1688商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问1688商城的网页来获取商品详情信息。以下是两种常用方法的介绍&…

【Axure高保真原型】多图表动态切换

今天和大家分享多图表动态切换的原型模板,点击不同的图标可以动态切换对应的表,包括柱状图、条形图、饼图、环形图、折线图、曲线图、面积图、阶梯图、雷达图;而且图表数据可以在左侧表格中动态维护,包括增加修改和删除&#xff0…

【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看?(二)

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

信息化发展10

消费互联网基本属性 消费互联网具有的属性包括: 1 ) 媒体属性: 由自媒体、社会媒体以及资讯为主的门户网站。 2) 产业属性: 由在线旅行和为消费者提供生活服务的电子商务等其他组成。 数字中国概览示意图 在党的十九…

设计模式行为模式-访问者模式

文章目录 介绍基本原理1. 定义访问者模式2. 角色及其职责2.1 元素(Element)2.2 具体元素(ConcreteElement)2.3 访问者(Visitor)2.4 具体访问者(ConcreteVisitor)2.5 对象结构&#x…

D-Link DCS 密码泄露漏洞

0x01 前言 本次测试仅供学习使用,如若非法他用,与本文作者无关,需自行负责!!! 0x02 漏洞描述 D-link DCS是一款成像色彩为彩色 是一款网络摄像机。D-link DCS系统存在密码泄露漏洞,攻击者通过…

什么牌子的电容笔比较好?适合学生党的电容笔推荐

如今,几乎人手一部iPad平板,它能帮大家解决许多工作、学习方面的问题,例如在工作中整理文件,制作一些简单的PPT。因此,给iPad平板配上一个好的电容笔就显得尤为重要了。在此,我向各位安利一些又好用又便宜的…

【数据结构】多叉树转换为二叉树-c++代码实现-POJ 3437 Tree Grafting

文章目录 写这个题目的原因寻找提交网址题目解决思路AC代码成功AC 写这个题目的原因 1、今天在看王道考研数据结构的课(虽然我要保研,但是因为这些看保研面试的时候会问,所以看一下嘞orz),看到了这个多叉树转换为二叉…

微信黑名单怎么恢复好友?1分钟教你找回消失的“他”

微信的【黑名单】功能可以屏蔽掉一些令大家分心或者浪费时间的人。这个功能有利于减少干扰、保护隐私,并且还能大大提高用户的社交体验。 但是,有时候大家可能会因为发生冲突而将对方暂时拉入黑名单。在问题得到解决后却又希望恢复与他的联系。那么&…

Seata整合nacos,Postgresql 为DB存储

Seata整合nacos,Postgresql 为DB存储 环境 详情环境可参考 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 我这里 <spring.cloud.alibaba-version>2021.1</spring.cloud.alibaba-version>所有选择seata版本为 1…