一、前言
现在越来越的的面试会问到高并发场景,高并发场景离不开高并发下的几个常见指标,本文就说书说高并发下的QPS、TPS、RT、PV、并发量分别是什么意思?
二、指标说明
2.1 PV
PV(page view)
即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。
PV 即 page view
,页面浏览量。用户每一次对网站中的每个页面访问均被记录 1 次。用户对同一页面的多次刷新,访问量累计。
根据这个特性,刷网站的 PV 就很好刷了。
图中奥特曼向服务器发出的一次攻击就是一次PV
2.2 QPS
QPS
:全名 Queries Per Second
,意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
简单的说,QPS = req/sec = 请求数/秒
。它代表的是服务器的机器的性能最大吞吐能力。
图中奥特曼向服务器每秒发动的攻击就相当于qps
2.3 TPS
TPS
即 Transactions Per Second
的缩写,每秒处理的事务数目
。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。
客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,最终利用这些信息作出的评估分。
TPS 的过程包括:客户端请求服务端、服务端内部处理、服务端返回客户端。
Qps 基本类似于 Tps,但是不同的是,对于一个页面的一次访问,形成一个 Tps;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“Qps”之中。
例如,访问一个 Index 页面会请求服务器 3 次,包括一次 html,一次 css,一次 js,那么访问这一个页面就会产生一个“T”,产生三个“Q”。
图中奥特曼访问一次服务器会攻击三次,可以理解成TPS是1
,QPS是3
2.4 RT
RT 指的是响应时间(Response Time),是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。他的数值大小直接反映了系统的快慢
奥特曼向服务器发起一条攻击的时候,服务器也回应了一条攻击给奥特曼,这一个回合的时间就是RT时间。
2.5 并发数
并发数 指系统能够同时处理的请求数量,他是反应系统负载能力的一直标准
当三个奥特曼向服务器发起攻击他扛住了,当四个奥特曼向服务器发起攻击,他扛不住,说明这个服务器最大并发量是三。
三、案例分析
QPS(TPS) = 并发数/平均响应时间
并发数 = QPS*平均响应时间
根据二八定律,每天80%
的访问集中在20%
的时间里,这20%
的时间就叫做峰值时间。
(总PV数 * 80%)/(每天秒数 * 20%) = 峰值时间每秒请求数(QPS)
峰值时间每秒QPS / 单台机器的QPS = 需要的机器
如果:
每天3000w PV在单台机器上,这台机器需要多少qps?
根据前面的公式
(总PV数 * 80%)/(每天秒数 * 20%) = 峰值时间每秒请求数(QPS)
(3000000 * 80%)/ (84600 * 20%) = 139(QPS)