0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

QPS、TPS、RT、并发数、吞吐量的概念

我快闭嘴 来源:CSDN技术社区 作者:科技D人生 2022-09-15 15:55 次阅读


一、QPS,每秒查询

QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

二、TPS,每秒事务

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

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

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

三、RT,响应时间

响应时间:执行一个请求从开始到最后收到响应数据所花费的总体时间,即从客户端发起请求到收到服务器响应结果的时间。响应时间RT(Response-time),是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。

四、并发数

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

五、吞吐量

系统的吞吐量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个request 对CPU消耗越高,外部系统接口、IO速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间。

  • QPS(TPS) :(Query Per Second)每秒钟request/事务 数量
  • 并发数 :系统同时处理的request/事务数
  • 响应时间 :一般取平均响应时间

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

  • 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关系如下

d8278430-3027-11ed-ba43-dac502259ad0.png

实际的QPS、RT关系如下

d86592b6-3027-11ed-ba43-dac502259ad0.png

3、最佳线程数量

刚好消耗完服务器的瓶颈资源的临界线程数,公式如下

最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间)*cpu数量

特性:

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


审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9013

    浏览量

    85165
  • 吞吐量
    +关注

    关注

    0

    文章

    47

    浏览量

    12324
  • QPS
    QPS
    +关注

    关注

    0

    文章

    24

    浏览量

    8788

原文标题:面试官:你了解 QPS、TPS、RT、吞吐量 这些高并发性能指标吗?

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    网卡吞吐量测试解决方案

    随着互联网的迅速发展,计算机日益成为人们生活中不可或缺的部分。伴随着网络业务的丰富,用户对计算机网卡的要求也越来也高。如何对计算机网卡吞吐量进行合理的测试,已越来越成为众多计算机网卡生产厂家日益关注
    发表于 12-23 11:07

    无线测试之吞吐量测试

    无线网络测试之无线吞吐量测试方法、步骤
    发表于 06-25 08:40

    iperf固定吞吐量测试如何设置

    我有两个CYW43907演示,并下载控制台项目。我想使用IpFF命令来测试固定的UDP吞吐量。示例:IPEF-C 192.1680.1-P 5001 -I 2 -T 30 -U-B 60M,但客户端
    发表于 11-06 14:09

    如何计算延迟和吞吐量

    如何计算延迟和吞吐量?在ISE时序报告中,我们发现一个名为“最大组合路径延迟”的参数是否与最大时钟频率有关?
    发表于 03-19 08:55

    提高BLE吞吐量的可行办法

    提高BLE吞吐量的可行办法如何实现更快的BLE吞吐量
    发表于 01-18 06:26

    如何通过触发模型提高吞吐量

    如何通过触发模型提高吞吐量
    发表于 05-11 07:00

    防火墙术语-吞吐量

    防火墙术语-吞吐量  术语名称:吞吐量 术语解释:网络中的数据是由一个个数据包组成,防火
    发表于 02-24 11:06 1530次阅读

    如何衡量比特币每秒的吞吐量

    比特币提供许多功能时,一个最重要的使用是作为一个支付系统。通常用来将比特币与VISA、Paypal等公司、甚至是那些吹嘘交易能力更高的新区块链等公司进行比较,比较的标准是系统能处理多少交易,通常被视为每秒吞吐量tps)。
    发表于 11-21 10:58 4497次阅读

    debug 吞吐量的办法

    Debug 网络质量的时候,我们一般会关注两个因素:延迟和吞吐量(带宽)。延迟比较好验证,Ping 一下或者 mtr[1] 一下就能看出来。这篇文章分享一个 debug 吞吐量的办法。
    的头像 发表于 08-23 09:17 932次阅读

    debug 吞吐量的办法

    Debug 网络质量的时候,我们一般会关注两个因素:延迟和吞吐量(带宽)。延迟比较好验证,Ping 一下或者 mtr[1] 一下就能看出来。这篇文章分享一个 debug 吞吐量的办法。
    的头像 发表于 09-02 09:36 846次阅读

    如何运行Search和JSON的可实现吞吐量

    此外,RedisJSON 的读取、写入和负载搜索延迟在更高的百分位中远比 ElasticSearch 和 MongoDB 稳定。当增加写入比率时,RedisJSON 还能处理越来越高的整体吞吐量,而当写入比率增加时,ElasticSearch 会降低它可以处理的整体
    的头像 发表于 09-07 16:14 994次阅读

    如何让接口吞吐量提升10多倍

    公司的一个ToB系统,因为客户使用的也不多,没啥并发要求,就一直没有经过压测。这两天来了一个“大客户”,对并发提出了要求:核心接口与几个重点使用场景单节点吞吐量要满足最低500/s的
    的头像 发表于 01-17 10:22 1745次阅读

    iperf吞吐量的测试流程

    iperf吞吐量测试指南
    发表于 04-03 15:40 2次下载

    一文讲清并发用户数、吞吐量QPSTPS之间关系

    网站并发:指网站服务器在单位时间内能够处理的最大连接
    的头像 发表于 04-15 17:48 3w次阅读

    如何显著提高ATE电源吞吐量

    作为一名测试工程师,你的工作并不容易。降低成本和提高系统吞吐量的压力一直存在。本文中,我们将讨论影响系统吞吐量的关键因素以及如何降低ATE测试成本。
    的头像 发表于 11-08 14:59 666次阅读
    如何显著提高ATE电源<b class='flag-5'>吞吐量</b>?