Skip to content

Commit

Permalink
update 聊聊TPS-QPS-CPS概念和区别.md
Browse files Browse the repository at this point in the history
  • Loading branch information
yangpeng committed Jul 29, 2021
1 parent b534e24 commit e7eefb5
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions ops/聊聊TPS-QPS-CPS概念和区别.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
## TPS 概念

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

## QPS 概念

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

## CPS 概念

`CPS``Connection 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

0 comments on commit e7eefb5

Please sign in to comment.