zoukankan      html  css  js  c++  java
  • 计算并发用户数的五种方法

    一、经典公式1:
       一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据
     
      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
     
      举例2, 某公司为其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为处理这些请求所花费的时间
     
    二、通用公式2:
      对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为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
     
    四、根据TPS估计:
       公式为 C = (Think time + 1)*TPS
     
    五、根据系统用户数计算:
       并发用户数 = 系统最大在线用户数的8%到12%
    备注:本人目前在网上只找到了这5种,计算并发用户数的方法,其他计算方法,欢迎大家留言补充
     
     
  • 相关阅读:
    ZOJ 1002 Fire Net (火力网)
    UVa OJ 117 The Postal Worker Rings Once (让邮差只走一圈)
    UVa OJ 118 Mutant Flatworld Explorers (变体扁平世界探索器)
    UVa OJ 103 Stacking Boxes (嵌套盒子)
    UVa OJ 110 MetaLoopless Sorts (无循环元排序)
    第一次遇到使用NSNull的场景
    NSURL使用浅析
    从CNTV下载《小小智慧树》
    NSDictionary and NSMutableDictionary
    Category in static library
  • 原文地址:https://www.cnblogs.com/lystbc/p/11375858.html
Copyright © 2011-2022 走看看