并发数的估算方法

并发数的估算方法,第1张

并发数估算的一般方法总结

正确估算并发数能让你提前应对系统将要面对的一些压力,做好系统升级,扩容等一些准备措施,从而从容应对,保持系统的稳定,保证服务质量,例如电商网站大促,节日高峰等。下面是从网上找到的一些估算并发数的一般方法(原文http://www.51testing.com/html/93/316693-828134.html):

一、经典公式

1)平均并发用户为 C = nL/T

2)并发用户数峰值 C‘ = C + 3*根号C

    C是平均并发用户数,n是login session的数量,L是login session的平均长度,T是值考察的时间长度

    C’是并发用户数峰值

举例1,假设系统A,该系统有3000个用户,平均每天大概有400个用户要访问该系统(可以从系统日志从获得),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4小时,而在一天之内,用户只有在8小时之内会使用该系统。

  那么,

  平均并发用户数为:C = 400*4/8 = 200

  并发用户数峰值为:C‘ = 200 + 3*根号200 = 243

二、通用公式

对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量。

比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为50000*80%/(3*60*60)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大!

三、根据PV计算公式

比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为:

  1000w*80%/(9*3600)=246.92个/s,取经验因子3,则并发量应为:

  246.92*3=740

四、根据系统用户数计算

并发用户数 = 系统最大在线用户数的8%到12%

引用地址:https://www.cnblogs.com/ptw-share/p/6670042.html

   一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据

  1)平均并发用户数为 C = nL/T

  2)并发用户数峰值 C‘ = C + 3*根号C

    C是平均并发用户数,n是login session的数量,L是login session的平均长度,T是值考察的时间长度

    C’是并发用户数峰值

假设系统A,该系统有3000个用户,平均每天大概有400个用户要访问该系统(可以从系统日志从获得),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4小时,而在一天之内,用户只有在8小时之内会使用该系统。

  那么,

  平均并发用户数为:C = 400*4/8 = 200

  并发用户数峰值为:C‘ = 200 + 3*根号200 = 243

某公司为其170000名员工设计了一个薪酬系统,员工可进入该系统查询自己的薪酬信息,但并不是每个人都会用这个系统,假设只有50%的人会定期用该系统,这些人里面有70%是在每个月的最后一周使用一次该系统,且平均使用系统时间为5分钟。

  则一个月最后一周的平均并发用户数为(朝九晚五):

  n = 170000*0.5*0.7/5 = 11900

  C= 11900*5/60/8 = 124

  吞吐量计算为:F = Vu * R / T 单位为个/s

    F为事务吞吐量,Vu为虚拟用户数个数,R为每个虚拟用户发出的请求数,T为处理这些请求所花费的时间

  对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量。

  比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为50000*80%/(3*60*60)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大!

  比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为:

  1000w*80%/(9*3600)=246.92个/s,取经验因子3,则并发量应为:

  246.92*3=740

   公式为 C = (Think time + 1)*TPS

五、根据系统用户数计算:

   并发用户数 = 系统最大在线用户数的8%到12%

备注:本人目前在网上只找到了这5种,计算并发用户数的方法,其他计算方法,欢迎大家留言补充

---------------------

原文:https://blog.csdn.net/qq_23101033/article/details/74977874

例如某系统使用用户是100个,这个就是系统用户数,该系统有一个统计查询功能,最高峰在线50人,那么系统的并发数是多少?

该系统使用用户是100个,这个就是系统用户数。

最高峰值50人同时在线,只表明同时登录了这个模块,并不表示实际服务器承受的压力。因为服务器承受的压力还与具体的用户访问模式相关。这50人在线,有可能开着电脑溜达去了,有的看的别的模块等等。

并发用户:是同时执行一个操作的用户,或者是同时执行脚本的用户,这个并发在设置不同场景的时候并发的情况是不一样的,在实际的测试中需要根据具体的需求进行设计。web系统,在线不等于并发,如何计算这个并发数是个难题。这个就是设置集合点时候设置的在scenario->Rendezvous,点policy 设置的用户数。

估算并发数的公示:

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

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

公式(1)中,C是平均的并发用户数;n是login session的数量;L是login session的平均长度;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 等 。个人理解这个用户数就是我们经常说的等价类和边界值法来设定。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/52223.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-25
下一篇2023-02-25

发表评论

登录后才能评论

评论列表(0条)

    保存