TPS、QPS、吞吐量,如何计算

1.TPS

TPS (transaction per second)代表每秒执行的事务数量,可基于测试周期内完成的事务数量计算得出。

TPS=事务数/时间(秒)

例如:

用户每分钟执行6个事务,TPS为6 / 60s = 0.10 TPS

同时我们会知道事务的响应时间(或节拍):60秒完成6个事务,代表每个事务的响应时间或节拍为10秒

 

2.QPS

QPS(Queries-per-second) 每秒查询率

=req/sec=请求数/秒 =总请求数 / ( 进程总数 * 请求时间 ) 单个进程每秒请求服务器的成功次数

 

日PV=QPS*60*60*24 //即QPS乘以一天的秒数

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

峰值QPS=(日PV*80%)/(60*60*24*20%)//通用公式每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间


服务器数=峰值时间每秒QPS / 单台机器的QPS

例如:

问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3

 

3.TPS与QPS有何区别

事务客户端发起请求到收到服务端最终响应的整个过程,这是一个TPS

而在这个TPS中,为了处理第一次请求可能会引发后续多次对服务端的访问才能完成这次工作,每次访问都算一个QPS。

所以,一个TPS可能包含多个QPS

 

4.吞吐量

单位时间内客户端和服务器成功传递数据的数量

 

吞吐量的计算公式:

业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量

网络角度看,吞吐量可以用:字节/秒来衡量(Jmeter中即是此意思)

对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力

以不同方式表达的吞吐量可以说明不同层次的问题。

例如:

以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;

以请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。

没有遇到性能瓶颈的时候吞吐量与虚拟用户数之间存在一定的联系。

可以采用以下公式计算:

F=VU * R /T

注:F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间

你可能感兴趣的:(性能测试)