名词概念
QPS(每秒查询率)
(Queries Per Second),及每秒执行的查询总数。例如访问网站首页,不仅会返回首页的Html文件,还会放回内置的js、css、jpeg、png等文件。这些都算一个单独的查询次数。若一秒内返回了N个文件,则说该服务端的QPS为N。
QPS反映系统的吞吐能力,更偏向于读取文件,查询数据。
TPS(吞吐量)
(Transactions Per Second),及每秒执行的事务总数。一个事务指的是***一个客户端向服务端发送请求,服务端进行反应的过程***。客户端在发送请求时开始计时,收到服务端响应后结束计时,以此来计算使用的时间和完成的事务个数。
事务处理过程:
- 客户端请求服务端
- 服务端内部进行查询操作
- 服务端返回信息给客户端
一般来说,评价系统的性能主要看系统的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