吞吐量
吞吐量直接体现软件系统的性能承载能力,是指单位时间内系统处理的客户请求的数量,一般来说,吞吐量用请求数/秒或者页面数/秒来衡量,从业务的角度,吞吐量也可以用访问人数/天或处理的业务数/小时等单位来衡量。当然,从网络的角度来说,也可以用字节数/天来考察网络流量
在对web系统的性能测试过程中,吞吐量主要是一请求数(单击数)/秒、页面数/秒或字节数/秒来体现,吞吐量指标可以在两个方面发挥作用。
注意:单击数(His)是指客户端发出的Http的请求数量,而不是指用户在HTML页面上的一次单击事件。例如,一次单击事件请求了页面A,页面A包含了3张图片和一个框架(frame),则这次单击共产生了5个hits(包括对页面A本身的请求)
(1)用于协助设计性能测试场景,以及衡量性能测试是否达到了预期的设计目标。在设计性能测试场景时,吞吐量可被用于协助设计性能测试场景,根据估算的吞吐量数据,可以对应到测试场景的事务发生频率、事务发生次数等。另外,在测试完成后,根据实际的吞吐量可以衡量测试是否达到了预期的目标。
(2)用户协助分析性能瓶颈,吞吐量的限制是性能瓶颈的一种重要的表现形式,因此,有针对性的对吞吐量设计测试,有助于尽快定位到性能瓶颈所在位置。例如,RBI方法就主要通过吞吐量测试发现性能瓶颈
以不同的方式表达吞吐量可以说明不同层次的问题。例如,以字节数/秒方式表示的吞吐量主要是要受网络基础设施、服务器架构、应用服务器架构制约;以单击数/秒方式表示的吞吐量主要受应用服务器和应用代码的制约
作为性能测试时的主要关注指标,吞吐量和并发用户数之间存在一定的联系。在没有遇到瓶颈时,吞吐量可以采用如下公式计算
F=Nvu*R/T
其中,F表示吞吐量;Nvu表示VU(并发用户)的个数;R表示每个VU发出的请求(单击)数量;T表示性能测试所用的时间。但如果遇到瓶颈,吞吐量和VU数量之间就不再符合以上关系
最后,必须要说明的是,虽然吞吐量指标可被作是系统承受压力的体现,但在不同的并发用户数量的情况下,对同一个系统施加相同的吞吐量压力,很可能会得到不同的测试结果