51testing论坛版主,专注于软件测试及测试吐槽,屌丝测试攻城师一枚。。。。。。。。。。。。。。。。。。。。。。。。。新浪微博:@没翅膀的飞鱼-------邮件交流:wzb_minitester@126.com------

性能测试笔记系列之一:吞吐量与并发数

上一篇 / 下一篇  2012-11-22 08:11:57 / 个人分类:性能测试

先看下定义:

吞吐量:一段时间内应用系统处理用户的请求数(以下介绍指单位时间内,也可以理解为吞吐率),这个定义考察点一般是系统本身因素;当然也可以用单位时间内流经被测系统的数据流量,一般单位为b/s,即每秒钟流经的字节数,这个定义的考察点既有系统本身因素也有网络,外设等因素,也可以理解为除客户端以外的测试环境及被测系统。

 

并发用户数:指同一时间点对业务功能同时操作的用户数,可以分为两种:一种是严格意义上的并发,即所有的用户在同一时刻做同一件事或操作,这时业务功能一般指同一类型的业务;另外一种并发是广义范围的并发,这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或都操作可以是相同的,也可以是不同的,这时业务功能可能不是同一类型的业务。

 

再看看两则有没有关联,上网查了下资料有些资料说有关系,有些说没有直接关系,下面说说我的看法:

一般来说,在系统的设计范围之内,吞吐量随系统的并发用户数的增加呈现增加趋势,也就是说你客户端来多少请求数系统吃(处理)多少请求数;当超出这个范围时有两种情况,一种是系统只能处理这么多,超过这个数系统不接收了,最后随着并发用户数的增多吞吐量是一个水平的直线;还有一种情况是不管来多少系统都接收最后导致系统吞吐量下降甚至系统崩溃。并发用户数是客户端单位时间内对服务器端施加的压力,具体能不能接受并处理要看被测系统的吞吐量,而吞吐量是被测系统单位时间内处理的请求数或者说单位时间内处理的字节数;一个着重于客户端的操作即测试手段,一个着重于应用系统的处理能力即查看对象;(上面的讨论没有考虑两者的单位,如一个用户同时有多个请求情况)

 

最后顺便把两者的计算公式注明下:

平均并发用户数的计算C=nL / T   

其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统)

并发用户数峰值计算 C^约等于C + 3*根号C  其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论。(该公式针对一般被测系统,特殊不做讨论)

 

吞吐量计算当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=VU * R / T其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间,其实通过这个公式就能看出吞吐量与并发用户数之间的关系了(这里的VU就是我们用工具模拟的并发用户数)。
 
写于2012-11-21      没翅膀的飞鱼

TAG:

 

评分:0

我来说两句

Open Toolbar