S为每个用户发生的业务笔数(QPS);
P为每笔业务所需要访问服务器的时间,单位为秒;
T为使用业务的时间,单位为秒;
R为调节因子,缺省值为1;
示意:
S=20(每天1000个用户发生20000笔业务);
P=30(每笔业务需要访问服务器30秒);
T=36000(每天工作10小时);
R=2(缺省为1,复杂的业务系统可用2);
计算得出的并发数为:(1000*0.8*20*30/(36000*0.2))*2=133.33;
一、经典公式
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%
一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)