性能测试并发峰值计算

软件性能的几个主要术语1_


|;s

1、响应时间:对请求作出响应所需要的时间51Testing软件测试网O8P#j3| CI


G@~

51Testing软件测试网8T6JB,v*@P

网络传输时间:N1+N2+N3+N4

| PS‑U^ E0

应用服务器处理时间:A1+A3

#w`6v,z'c%tl0

数据库服务器处理时间:A251Testing软件测试网


{s;TA$t

响应时间=N1+A1+N2+A2+N3+A3+N451Testing软件测试网FO9l6T-^

 
要求支持5000-10000用户访问的购物网站,是在同一时间访问?还是一天的访问量呢?如果是一天的访问量,那么我们需要知道哪几个时间段访问人数最多。例如有10小时访问密集区,我们可以估算每小时1000用户,峰值*2或者3,也就是每小时3000,那么合计一秒钟只要3000/3600 还不足1个并发。
如果是并发,那么就要测5000到10000了。
并发用户数量的统计方法目前还没有准确的公式
一般的并发用户数量的经验公式为:
使用系统的用户数量×(5%~20%)。
对于这个公式,没有必要拘泥于计算出的结果,因为为了保证系统的扩展空间,测试时的并发用户数量都会稍稍大一些,除非要测试系统能承受的最大并发用户数量。
举例说明:你的系统支持10000个用户访问,
在基本压测情况下,你在设置最大并发用户数量时最多10000*0.2=2000就可以了。 
并发用户数的计算公式
系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是2000个,那么这个数量,就是系统用户数
 
同时在线用户数:在一定的时间范围内,最大的同时在线用户数量
平均并发用户数的计算:
C=nL / T
其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统)
并发用户数峰值计算:
C^约等于C + 3*根号C  
其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论 

3、吞吐量的计算公式

%H


oU"Be0

 指单位时间内系统处理用户的请求数

P(g_bA‑j9Z/d0

 从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量51Testing软件测试网'{6V&Mz7ANEE*g

 从网络角度看,吞吐量可以用:字节/秒来衡量51Testing软件测试网'?


BqI5jo

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

,a uz2p


Af­f0

以不同方式表达的吞吐量可以说明不同层次的问题,例如,以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;已请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。

9m y3gl%Izh"V
p8RU0

当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=VU * R/ T

"{Va,bjRX0

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

(_R}^"B7V[1]j0

51Testing软件测试网2K3[!k(m
go3`@

4、性能计数器51Testing软件测试网 A?h&[Q)mf(T‑r

  是描述服务器或操作系统性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行新能瓶颈定位时有着非常关键的作用。51Testing软件测试网8_:NP;k0k:jN

  资源利用率:指系统各种资源的使用情况,如cpu占用率为68%,内存占用率为55%,一般使用“资源实际使用/总的资源可用量”形成资源利用率。

‑\~


] q­V h0

5、思考时间的计算公式

[$RGZt-Dc0

  Think Time,从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔,而在做新能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。51Testing软件测试网AE5f0mw3@
Wjp

在吞吐量这个公式中F=VU * R / T说明吞吐量FVU数量、每个用户发出的请求数R和时间T的函数,而其中的R又可以用时间T和用户思考时间TS来计算:R = T / TS

e PnJ9n8e&wz0

 

!O)ZM'e+g6|} lN0

下面给出一个计算思考时间的一般步骤:51Testing软件测试网2x6kz3m*M

A首先计算出系统的并发用户数

p


T8UGMs0_8l0

       C=nL / T     F=R×C51Testing软件测试网xIej:|x

B统计出系统平均的吞吐量51Testing软件测试网 I
q


Jy­x

           F=VU * R / T R×C = VU * R / T51Testing软件测试网YE'{U/c5[y­b

C统计出平均每个用户发出的请求数量51Testing软件测试网


y:m;wp
W7f H? [1]e

   R=u*C*T/VU51Testing软件测试网UP&E!b2Fu1o-L‑o

D根据公式计算出思考时间51Testing软件测试网5Qz ~ mL8kw

TS=T/R51Testing软件测试网J;iu'Z8c

二 关于系统并发用户数的计算

(下面所提到的最高峰时500人,如果统计不出这个,可以按照2-8原则,80%的操作由20%的用户完成)

 

假设有一个OA系统,该系统有2000个使用用户——这就是说,可能使用该OA系统的用户总数是2000名,这个概念就是“系统用户数”,该系统有一个“在线统计”功能(系统用一个全局变量记数所有已登录的用户),从在线统计功能中可以得到,最高峰时有500人在线(这个500就是一般所说的“同时在线人数”),那么,系统的并发用户数是多少呢?

 

      根据我们对业务并发用户数的定义,这500就是整个系统使用时最大的业务并发用户数。当然,500这个数值只是表明在最高峰时刻有500个用户登录了系统,并不表示实际服务器承受的压力。因为服务器承受的压力还与具体的用户访问模式相关。例如,在这500个“同时使用系统”的用户中,考察某一个时间点,在这个时间上,假设其中40%的用户在较有兴致地看系统公告(注意:“看”这个动作是不会对服务端产生任何负担的),20%的用户在填写复杂的表格(对用户填写的表格来说,只有在“提交”的时刻才会向服务端发送请求,填写过程是不对服务端构成压力的),20%部分用户在发呆(也就是什么也没有做),剩下的20%用户在不停地从一个页面跳转到另一个页面——在这种场景下,可以说,只有20%的用户真正对服务器构成了压力。因此,从上面的例子中可以看出,服务器实际承受的压力不只取决于业务并发用户数,还取决于用户的业务场景。

 

      在实际的性能测试工作中,测试人员一般比较关心的是业务并发用户数,也就是从业务角度关注究竟应该设置多少个并发数比较合理,因此,在后面的讨论中,也是主要针对业务并发用户数进行讨论,而且,为了方便,直接将业务并发用户数称为并发用户数。

 

       (1) 计算平均的并发用户数: C= nL/T     

 

       (2) 并发用户数峰值: C’ ≈ C+3根号C

 

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

 

       公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。

 

实例:

 

       假设有一个OA系统,该系统有3000个用户,平均每天大约有400个用户要访问该系统,对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。

 

则根据公式(1)和公式(2),可以得到:

 

               C = 400*4/8 = 200

 

               C’≈200+3*根号200 = 242

但是一般的做法是把每天访问系统用户数的10%作为平均的并发用户数。最大的并发用户数乘上一个值,2或者3.

假如说用户要求系统每秒最大可以处理100个登陆请求,10/25/50/75/100 个并发用户来执行登陆操作,然后观察系统在不同负载下的响应时间和每秒事务数。如果用户数在100的时候,响应时间还在允许范围呢,就要加大用户数,例如 120 等。

下面是计算自己在工作中的遇到的并发用户数的计算:

例子:某个网站性能要求至少支持3000人同时在线,每个人的login session估计为2个小时,按每天8个小时来计算。

这个网站的并发用户数为:

      c=3000*2/8=750

      峰值为c=750+3*根号750=832

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值