[转帖]聊聊TPS、QPS、CPS概念和区别

发布时间 2024-01-04 07:14:26作者: 济南小老虎
https://cloud.tencent.com/developer/article/1859053

 

TPS 概念

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

QPS 概念

QPSQueries Per Second意思是每秒查询率,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。

CPS 概念

CPSConnection Per Second意思是每秒新建连接数,定义了新建连接的速率。当新建连接的速率超过规格定义的每秒新建连接数时,新建连接请求将被丢弃。

TPS 与 QPS 区别

TPS 即每秒处理事务数,包括以下部分:

  • 1、用户请求服务器
  • 2、服务器自己的内部处理
  • 3、服务器返回给用户

这三个过程,每秒能够完成N个这三个过程,TPS也就是N。

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

例如:访问一个页面会请求服务器3次,一次访问,产生一个“T”,产生3个“Q”

QPS 计算公式

每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

  • 原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
  • 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
  • 机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器

问:每天300w PV 的在单台机器上,这台机器需要多少QPS?

答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

问:如果一台机器的QPS是58,需要几台机器来支持?

答:139 / 58 = 3

系统吞吐量

一个系统的吞度量(承压能力)与request对CPU的消耗外部接口IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

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

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

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

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

参考链接

  • https://blog.csdn.net/u010889616/article/details/83245695
  • https://blog.csdn.net/yanyuan_smartisan/article/details/112871685