51Testing软件测试论坛

标题: 求助啊,怎样合理估算并发用户数 [打印本页]

作者: kevin841020    时间: 2012-10-26 17:42
标题: 求助啊,怎样合理估算并发用户数
现有一性能测试需求:预计系统业务发展的最大用户数为100万。
开始我是这样想的,根据2-8法则进行估算:

预计的XXX系统最大用户量为100万,根据2-8法则进行估算高峰期的使用人数(20%的时间发生80%的业务):
20%时间:XXX系统的工作时段为00:00-24:00——24小时;20%时间为4.8小时
80%业务量:100万X80%=80万;
最大在线用户数:80万/4.8小时=166667;
根据系统的特点估算,最大并发用户数一般为最大在线用户数的8%-12%之间;即:166667*8%=13333至166667*12%=20000

假设有两台服务器,则对应的最大并发用户数为:20000/2=10000
算出来,感觉并发数好大啊!!!

请问高手们,是如何估算并发用户数的??????
作者: anruy    时间: 2012-10-26 18:06
首先,你这个地方的概念需要理清下:
预计的XXX系统最大用户量为100万,根据2-8法则进行估算高峰期的使用人数(20%的时间发生80%的业务):
这里面:20%的时间发生80%的业务 一般是用来计算tps的指标用的。
而你上面的计算,这个100万究竟是交易笔数,还是这个系统会拥有的用户数,请明确。
如果是交易笔数,那么tps的单位一般我们是 交易笔数/s
tps=1000000*0.8/(24*0.2*3600) =46笔/s
这个是看你系统的一个吞吐量,也就是说你系统需要的处理能力。而不是单纯的想看系统能承受多少用户。
你可以适当的调整并发用户数,看多少用户的时候,tps达到这个要求,如果达不到,则系统不能支撑这个业务需求。

如果你还是想去从并发用户去考虑,也行。业内也有一个比较常用的公式 :
并发用户数=nl/t  ,n是当前在线用户数,l是在线用户大概会使用系统的时长,t是考虑的时长,也就是你说的24小时。 如果如你所说的100w是系统最大用户数,那么,你得知道同时有多少人在线。

刚开始做性能,会有一个误区,对于一般的联机型系统,总是习惯去算并发用户数,这个会有点误导自己去理解。
因为你的性能测试开展,方向就是怎样能去对服务器施加压力,服务器能否承受你的压力。服务器的处理能力是怎样体现。
作者: kevin841020    时间: 2012-10-26 18:20
回复 2# anruy

上面的100万用户数是指  系统注册用户数
作者: anruy    时间: 2012-10-29 12:17
嗯,那得先统计出当前系统的活跃用户数。
进一步细化知道系统的一般在线用户数。。
作者: anruy    时间: 2012-10-29 12:18
100万的注册用户,作为测试前 用户表需要存量数据,可以考虑下。
作者: kate_moss    时间: 2012-10-30 16:54
楼主遇到和我同样的问题了,qq聊吧:331060403
作者: ffwithvv    时间: 2012-10-31 16:19
估算并发用户并发数公式:
1、用户从登陆系统到退出系统的间隔时间L
2、登陆系统的用户数量n
3、被考察的时间长度T
并发用户数C=nL/T
举例:
如果系统有3000个注册用户,平均每天400个用户要访问系统,一般一个典型用户在系统中停留4小时(从登陆到退出),在一天内,用户在8小时内使用该系统
并发用户数=400X4/8=200
不知道这样解释,你是否理解
作者: kevin841020    时间: 2012-10-31 17:09
回复 5# anruy

本来我是想详细问一下需求那边的,大概同时在线用户数预计会达到什么程度?
但是需求那边给我的答复是:平均每月活跃的用户数在30万左右。

给出了平均每月活跃数后,我都不知道怎么估算同时在线用户数了,可以再跟我说一下吗?
作者: ffwithvv    时间: 2012-11-1 15:22
回复 8# kevin841020

难道我给你的解释还不清楚?
作者: rogers    时间: 2012-11-2 11:10
你的解答很好,我看懂了~
作者: kevin841020    时间: 2012-11-2 12:15
回复 9# ffwithvv


    你给出的公式 算出的是  集合点的并发数,还是同时在线用户数?如果指的是同时在线用户数,那 集合点的并发数呢?你如何估算?----按我给出的平均每月活跃的用户数30万来估算
作者: ffwithvv    时间: 2012-11-2 16:41
回复 11# kevin841020


    我给出的是并发用户数。
如果你要计算峰值用户数的话,用另外一个公式
C1=C+3 X sqr(C)
C表示并发用户数
根据我之前算出的结果,并发用户数是200,那么公式为:
C1=200+3 x sqr(200)=242

不知道我这样解释,你是否再次明白?
作者: 逍遥无名    时间: 2012-11-2 22:06
围观学习一下下
作者: msnshow    时间: 2012-11-5 22:38
没公式可用,还是得分析业务的实际情况
作者: 测试新手小白    时间: 2012-11-6 14:41





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2