架构
架构–网络关键指标公式
一、经典公式1:估算系统的平均并发用户数和并发用户数峰值
1.1、公式
1.1.1、平均并发用户数
C = nL/T
参数说明–C
平均并发用户数,通过计算出来的
参数说明–n
login session的数量,也就是 平均每天访问用户数
参数说明–L
是login session的平均长度,也就是 一天内用户从登录到退出的平均时间(操作平均时间),单位小时
参数说明–T
是值考察的时间长度,也就是 在一天的时间内,一天内多长时间有用户使用系统,单位小时。
1.1.2、并发用户数峰值
C'= C + 3*根号C
参数说明–C’
并发用户数峰值
参数说明–C
平均并发用户数
1.2、案例说明
1.2.1、案例1
假设系统A,该系统有3000个用户,平均每天大概有400个用户要访问该系统(n),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4(L)小时,而在一天之内,用户只在8小时之内会使用该系统(T)。
平均并发用户数
C = nL/T
C = 400*4/8 = 200
并发用户数峰值
C'= C + 3*根号C
C' = 200 + 3根号200 = 243
1.2.2、案例2
某公司为其170000名员工设计了一个薪酬系统,员工可进入该系统查询自己的薪酬信息,但并不是每个人都会用这个系统,假设只有50%的人会定期用该系统,这些人里面有70%是在每个月的最后一周使用一次该系统,且平均使用系统时间为5分钟。所有员工都是朝九晚五(T=8)
一个月最后一周的平均并发用户数
C = nL/T# 平均每天访问系统的用户人数
n = (1700000*0.5*0.7)/5 = 11900
C= 11900 * (5/60)/8 = 124
问题–(17000000.50.7)/5,为什么要/5?
1.2.3、案例3
早上上班,7点半到8点的30分钟(T)的时间里用户会登录签到系统进行签到。公司员工为1000(n)人,平均每个员上登录签到系统的时长为5分钟(L)。
7点半到8点的平均并发用户数
C = nL/T
C = nL/T = 1000*(5/60)/0.5 = 166.7
二、通用公式2:平均并发用户数
2.1、公式
平均并发用户数=用户总量/统计时间*影响因子
2.2、 案例
以乘坐地铁为例子,每天乘坐人数为5000万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁。
用户总量
用户总量=50000*80%
统计时间
统计时间=36060 秒
备注:7到9点 2个小时,6到7点 1个小时,总共3小小时
影响因子
- 考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那么影响因子为3。
- 影响因子可以根据实际情况增大!
每秒到达地铁检票口的人数为
平均并发用户数=用户总量/统计时间*影响因子平均并发用户数0=50000*80%/(3*60*60)=3.7,约4人/S平均并发用户数1=4人/s*3s(影响因子)=12 人
从公式可以得到 平均并发用户数是12人/S
三、PV公式3:平均并发用户数
3.1、公式
TPS =PV/T
C=TPS*经验因子
参数说明–TPS
事务数/秒
参数说明–T
PV 的时间
参数说明–PV
页面访问量,即页面浏览量或点击量,用户每次刷新即被计算一次。可以统计服务一天的访问日志得到。
3.2、 案例1
比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为
TPS =PV/T
TPS=1000 0000 *0.8 /(9*3600)=246.92个/s
取经验因子3,则平均并发用户数:
C=TPS*经验因子
C=246.92*3=740
四、根据TPS估计: 平均并发用户数
4.1、公式
C = (ThinkTime + 1)*TPS
参数说明–C
平均并发用户数
参数说明–TPS
事务数/秒
参数说明–ThinkTime
影响因子
五、根据系统用户数计算: 平均并发用户数
5.1、公式
C = 系统最大在线用户数的8%到12%
参数说明–C
平均并发用户数
六、吞吐量公式1
6.1、公式1
F = Vu * R / T
参数说明–F
F为事务吞吐量,单位为个/s
参数说明–Vu
为虚拟用户数个数
参数说明–R
每个虚拟用户发出的请求数
参数说明–T
每个虚拟用户发出的请求所花费的时间
6.2、公式2
QPS(TPS)=并发数/平均响应时间
一个系统吞吐量通常有QPS(TPS),并发数两个因素决定,每套系统这个两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换,内存等等其他消耗导致系统性能下降。
七、在线用户数:并发用户 比例关系
并发最小比例
并发:在线=5:100
并发最大比例
并发:在线=20:100
7.1、举例
某网站存在注册用户数为10W人,但同时在线最多1W人,但这1W个人,同一时刻,可能只有500人会浏览帖子,500人会进行发帖,只有这1000个人对服务器才有交易,那我们计算并发量的时候,就可以以1000为标准!