服务器并发量估算公式和计算方法
最近需要对再次对服务器进行压力测试,这里整一下最近学习到的估算方案和估算方式。以下估算方式没有考虑类似于秒杀这种极端情况。
并发值估算
1.1 经典公式
一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据
- 1)平均并发用户数为 c = nl/t
- 2)并发用户数峰值 c‘ = c + 3*根号c
c是平均并发用户数,n是login session的数量,l是login session的平均长度,t是值考察的时间长度
c'是并发用户数峰值
如用外卖点餐app套入这个公式计计算下并发用户数100w用户下并发用户数大致范围:
假设外卖app有100w个用户,而日活用户假设占12.5%即12.5w个日活用户,而每个日活用户打开app到点餐平均时间大概为5分钟,而假设早上8点到晚上12点都会有用户使用该app。则可以计算出一个值:
平均并发用户数c=125000*5/16*60=651 并发用户数峰值c`=651+3*根号 651=726
上面即为经典公式计算出的并发用户数,但看起来和实际情况可能有差异。
作为外卖app大部分人都会在高峰期进行点餐,所以对于外卖app这类应该单独进行考虑。
我们采用2/8原则来估算并发用户数,即80%的用户数会在高峰期点餐,而高峰期设定为11-12,17-19点一共5个小时,在这种情况下估算并发用户数:
平均并发用户数c=125000*5*0.8/5*60=1666 并发用户数峰值c`=1666+3*根号 1666=1788
1.2通用公式
对绝大多数场景,可以用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量。
比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为5000080%/(36060)=3.7,约4人/s,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s3s=12,当然影响因子可以根据实际情况增大!
所以物联网设备其实是可以考虑为通用设备。
在比较极端的情况下考虑,100万个设备其中95%均为日活设备即95w,且假设其中80%的设备都会在3个小时内访问服务器(高峰期),则可以推算并发设备数。
950000*0.8/(3*60*60)=70/s
因物联网设备的不确定性较高,我们将影响因子设置为5
.70*5=350 即活跃设备数在每秒为350个。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。