性能指标:QPS、TPS、RT、吞吐量

从事Java Web相关项目开发,用户、测评单位以及相关的领导常常询问一些平台性能方面的相关指标,例如:QPS、TPS、吞吐量等等。下面对每一个性能指标进行总结,顺便加深理解。服务器

PV,网页浏览量

Page View,网页浏览量。网页被用户调用浏览的次数。网页每次打开或刷新一次页面,记录一次。用户对同一页面的屡次访问,访问量累计。并发

QPS,每秒查询

QPS:Query Per Second,每秒查询率,是一台服务器每秒可以响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。性能

TPS,每秒事务

TPS,Transaction Per Second,事务数/秒,是软件测试结果的测量单位。一个事务是指一个客户端向服务器发送请求,而后服务器作出反应的过程。客户端在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。测试

Tps即每秒处理事务数,包括了接口

1)用户请求服务器事务

2)服务器本身的内部处理开发

3)服务器返回给用户io

这三个过程,每秒可以完成N个这三个过程,Tps也就是N;软件

Qps基本相似于Tps,可是不一样的是,对于一个页面的一次访问,造成一个Tps;但一次页面请求,可能产生屡次对服务器的请求,服务器对这些请求,就可计入“Qps”之中。request

例如:访问一个页面会请求服务器3次,一次放,产生一个“T”,产生3个“Q”。

RT,响应时间

Response Time,响应时间,执行一个请求从开始到最后收到响应数据所花费的整体时间,即从客户端发起请求到收到服务器响应结果的时间。

响应时间RT,是一个系统最重要的指标之一,它的数值大小直接反映了系统的快慢。

并发数

并发数是指系统同时能处理的请求数量,这个也是反映了系统的负载能力。

吞吐量

系统的吞吐量与request对CPU的消耗、外部接口、IO等等紧密关联。单个request对CPU消耗越高,外部系统接口、IO速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间。

一、QPS(TPS):每秒request/事务 数量

二、并发数:系统同时处理的request/事务数

三、响应时间:通常取平均响应时间

可推算出他们之间的关系以下:

  • QPS(TPS)= 并发数 / 平均响应时间
  • 并发数 = QPS * 平均响应时间

 示例

经过实例将几个概念串联起来。按照二八定律来看,若是天天80%的访问集中在20%的时间里,这20%时间就叫作峰值时间。

  1. 公式:(总PV数 * 80%) / (天天秒数 * 20%) = 峰值时间每秒请求数(QPS)
  2. 机器:峰值时间每秒QPS / 单台机器的QPS = 须要的机器数

一、天天300w PV的在单台机器上,这台机器须要多少QPS?

(3000000 * 0.8)/ (86400 * 0.2) = 139 (QPS)

二、若是一台机器的QPS是58,须要几台机器来支持?

139 / 58 = 3