装逼小知识:吞吐量词汇

245 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情

前言

作为一个后端仔,有时在面试时免不了被问到开发的项目的QPS、PV、TPS是多少。虽然心里知道没几个人用,但还是要唬住面试官,那么了解一下相关的概念、以及如何计算就很有必要啦,下面就来学习一下把。

名词概念

QPS(每秒查询率)

(Queries Per Second),及每秒执行的查询总数。例如访问网站首页,不仅会返回首页的Html文件,还会放回内置的js、css、jpeg、png等文件。这些都算一个单独的查询次数。若一秒内返回了N个文件,则说该服务端的QPS为N。

QPS反映系统的吞吐能力,更偏向于读取文件,查询数据。

TPS(吞吐量)

(Transactions Per Second),及每秒执行的事务总数。一个事务指的是一个客户端向服务端发送请求,服务端进行反应的过程。客户端在发送请求时开始计时,收到服务端响应后结束计时,以此来计算使用的时间和完成的事务个数。

事务处理过程:

  1. 客户端请求服务端
  2. 服务端内部进行查询操作
  3. 服务端返回信息给客户端

一般来说,评价系统的性能主要看系统的TPS,系统的整体性能取决于性能最低模块的TPS值。(木桶的容量取决于最短板)

QPS和TPS的区别

请求一次页面,形成一次TPS,但如果对页面的请求,产生多次对服务器的请求,就会计入QPS当中。

PV(页面访问量)

(Page View),对页面的每次访问都会累积PV数量。

UV (独立访客量)

(Unique visitor),即同一页面,客户端多次点击只计算一次,访问量不累计。

常用计算

平常QPS计算

QPS = REQ/SEC = 请求数/秒
​

峰值QPS计算

( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)

单台服务器PV计算

公式1:每天总PV = QPS * 3600 * 6
​
公式2:每天总PV = QPS * 3600 * 8

服务器数量计算

服务器数量 = ceil( 每天总PV / 单台服务器每天总PV )
​
需要的机器 = 峰值时间每秒QPS / 单台机器的QPS