什么是吞吐量(TPS)每秒查询率(QPS)响应时间(RT)以及并发数?

Posted autofelix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是吞吐量(TPS)每秒查询率(QPS)响应时间(RT)以及并发数?相关的知识,希望对你有一定的参考价值。

〝 古人学问遗无力,少壮功夫老始成 〞

真的,在开发中,如果你不知道这几个名词的概念,以及他们的作用,那可以说你毫无并发处理经验,一般面试官在面试的时候,有时候也会问到这几个名词的概念,以及你在项目中遇到过的情况以及解决办法,所以这几个概念作为程序员还是必须要了解的,常码字不易,出精品更难,没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。你必须特别努力,才能显得毫不费力。如果这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们~

注意:为了让你更好的适应并发和理解这些名词,飞兔小哥哥特意帮你们找了开源电商系统,可以免费搭建体验,借鉴思路,极易进行二次开发,如需参考请点击查看 http://gitee.likemarket.net/BZ49rotS

目录

一、吞吐量(TPS)

二、每秒查询率(QPS)

三、响应时间(RT)

四、并发数


一、吞吐量(TPS)

  • 吞吐量是指系统在单位时间内处理请求的数量
  • 对于无并发应用的系统而言,吞吐量与响应时间成反比关系,实际上此时吞吐量是响应时间的倒数
  • 对于一个多用户的系统,如果只有一个用户使用时系统的平均响应时间是t,当有你n个用户使用时,每个用户看到的响应时间通常并不是n×t,而往往比n×t小很多
  • 当然,在某些特殊情况下也可能比n×t大,甚至大很多,这就涉及到服务器性能问题了。
  • 这是因为处理每个请求需要用到很多资源,由于每个请求的处理过程中有许多不走难以并发执行,这导致在具体的一个时间点,所占资源往往并不多。也就是说在处理单个请求时,在每个时间点都可能有许多资源被闲置,当处理多个请求时,如果资源配置合理,每个用户看到的平均响应时间并不随用户数的增加而线性增加。实际上,不同系统的平均响应时间随用户数增加而增长的速度也不大相同,这也是采用吞吐量来度量并发系统的性能的主要原因。一般而言,吞吐量是一个比较通用的指标,两个具有不同用户数和用户使用模式的系统,如果其最大吞吐量基本一致,则可以判断两个系统的处理能力基本一致。

二、每秒查询率(QPS)

  • 每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准
  • 在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。
  • 看来是类似于TPS,只是应用于特定场景的吞吐量

三、响应时间(RT)

  • 响应时间是指系统对请求作出响应的时间。
  • 直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。
  • 由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。
  • 所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能的最大响应时间。当然,往往也需要对每个或每组功能讨论其平均响应时间和最大响应时间。
  • 对于单机的没有并发操作的应用系统而言,人们普遍认为响应时间是一个合理且准确的性能指标。
  • 需要指出的是,响应时间的绝对值并不能直接反映软件的性能的高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。
  • 对于一个游戏软件来说,响应时间小于100毫秒应该是不错的,响应时间在1秒左右可能属于勉强可以接受,如果响应时间达到3秒就完全难以接受了。
  • 而对于编译系统来说,完整编译一个较大规模软件的源代码可能需要几十分钟甚至更长时间,但这些响应时间对于用户来说都是可以接受的。

四、并发数

  • 并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。
  • 与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。
  • 实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。
  • 以网站系统为例,假设用户只有注册后才能使用,但注册用户并不是每时每刻都在使用该网站,因此具体一个时刻只有部分注册用户同时在线,在线用户就在浏览网站时会花很多时间阅读网站上的信息,因而具体一个时刻只有部分在线用户同时向系统发出请求。
  • 这样,对于网站系统我们会有三个关于用户数的统计数字:注册用户数、在线用户数和同时发请求用户数。
  • 由于注册用户可能长时间不登陆网站,使用注册用户数作为性能指标会造成很大的误差。
  • 而在线用户数和同事发请求用户数都可以作为性能指标。相比而言,以在线用户作为性能指标更直观些,而以同时发请求用户数作为性能指标更准确些。

 

以上是关于什么是吞吐量(TPS)每秒查询率(QPS)响应时间(RT)以及并发数?的主要内容,如果未能解决你的问题,请参考以下文章

什么是QPS、TPS、RT、吞吐量?

QPS和TPS是什么

QPS(TPS)

QPS是什么?

TPS和QPS 并发量区别;日活 访问量 活跃度

吞吐量(TPS)QPS并发数响应时间(RT)概念