PV、TPS、QPS是怎么计算出来的?

https://www.zhihu.com/question/21556347

 

术语说明:
QPS = req/sec = 请求数/秒

【QPS计算PV和机器的方式】

QPS统计方式 [一般使用 http_load 进行统计]
QPS = 总请求数 / ( 进程总数 * 请求时间 )
QPS: 单个进程每秒请求服务器的成功次数

单台服务器每天PV计算
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600 * 8

服务器计算
服务器数量 = ceil( 每天总PV / 单台服务器每天总PV )

【峰值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

 

 

pv 是指页面被浏览的次数,比如你打开一网页,那么这个网站的pv就算加了一次;
tps是每秒内的事务数,比如执行了dml操作,那么相应的tps会增加;
qps是指每秒内查询次数,比如执行了select操作,相应的qps会增加。

不同的应用系统tps,qps是没有可对比性的。
例如:
应用A,每个select查询需要1ms, 一个connection的话,一直不停的执行,1S内 可执行1000次,也就是1000qps
应用B,每个select查询需要100ms, 一个connection的话,一直不停的执行,1S内 可执行10次,也就是10qps

上面不同系统的两个qps是无法对比的,不能说哪个好哪个坏。

满足业务要求才是王道。

 

PV=page view
TPS=transactions per second
QPS=queries per second
RPS=requests per second

RPS=并发数/平均响应时间

 

Leave a Reply

Your email address will not be published. Required fields are marked *