1. Method for Estimating the Number of Concurrent Users
Eric Man Wong 于2004年发表为《Method for Estimating the Number of Concurrent Users》
n 表示开始到结束的总用户数
**L **表示每个用户平均在线时长
T 表示开始到结束的总时长
2. Little定律
Little定律指出"系统中物体的平均数量等于物体到达系统的平均速率和物体在系统中停留的平均时间的乘积。 --- 百度百科
N 表示系统中同时活动的用户,包括正在处理中和队列中的
X 表示用户相继到达系统的速率,在平衡状态时即为系统吞吐量(到达=离开)
R 表示每个用户在系统中平均的驻留时间
3. 举例
有一个论坛系统,每天的活跃用户有500,用户活跃时间主要集中在晚上7点到12点,平均每人登入登出一次,登陆时长为30分钟,请为该系统建立性能测试模型。
-
使用Eric的估算公式解:
假设系统后端维护session,那么这个session的长度即为30分钟,L=30minutes
用户活跃时长已经得知是从7点到12点共五个小时,T=5 hours
那么并发用户数,C=n*L/T = 500*30/(5*60)=50
-
使用Little定律对系统并发用户数进行估算:
500个用户需要在7点到12点这段时间陆续登入论坛可知,到达率X=500/(5*60)=5/3个用户/分钟
登陆时长30分钟为用户在系统中的驻留时间,R=30分钟
那么系统中同时被服务也就是并发数N=X*R = 5/3*30=50
-
我们再来从另外的角度分解Eric的估算公式:
C = n*L/T 可以表示为 C=(n/T)*L
n/T 是不是和我们刚才在上面Little中第一步一样,是计算到达率X的。
而L不就是R吗?都等同于session的长度。
也就是说C = (n/T)*T= X*R = N
结论:由以上得知,Eric's 估算公式跟Little定律是等价的。
Forward :https://www.cnblogs.com/hundredsofyears/p/3360305.html