性能指标QPS
TPS每秒事务数
Transactions Per Second
每秒处理的事务数目,一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程
比如我请求访问twitter页面,则twitter服务器会返回一个twitter完整的页面给我,这个页面可能还包括一些css、js、各种数据的请求,这一整个页面的访问和全部数据的响应就叫TPS
TPS
过程包括: 客户端请求服务端+服务端内部处理+服务端返回客户端
tps=处理事务数/秒
QPS每秒查询率
Queries Per Second
每秒查询率,表示一台服务器每秒能够响应的查询次数,代表的是服务器的机器的性能最大吞吐能力
qps
基本类似于 tps
,但是不同的是对于一个页面的一次访问,形成一个 TPS,但一次页面请求,可能产生多次对服务器后端API的请求,服务器对这些请求就可计入QPS之中
简单来说QPS就是对每个后端请求的度量,比如一个页面要请求多个接口,那么对每个接口的请求可以归结为QPS,当用户请求页面到页面完整的展示给用户这一个过程可以归结为TPS,也就是说如果一个页面只会访问一个接口一个请求,则TPS=QPS
比如现在有100
个线程,每个请求的响应平均时间为0.5s
,所以服务器每秒可以处理200个请求,qps计算方式如下:
qps=100/0.5=200
所以为了提高QPS,我们可以使用下面两个方法
- 提高并发数
- 减少每个请求的处理时间
如果在10s
内有10000
个请求过来,每个请求平均处理时间还是0.5s
,则此时需要最低的qps计算如下:
qps=10000/10=1000
RT=0.5s
最大并发数=qps*rt=1000*0.5s=500
明显上面的qps=200<1000,所以说需要500个线程才不会造成等待,如果按照200的qps则1s最多只能支撑2000个请求
PV页面浏览量
page view
页面浏览量,用户每次对页面的访问都计入PV
,比如我对一个页面刷新了5次那么PV就加5
UV独立访客数
Unique Visitor
独立访客访问数,可以理解为IP访问次数,比如我对一个页面刷新了100次,但是UV还是只加1,因为IP还是我