服务器并发量计算

并发

理论

在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但是任一个时刻点上只有一个程序在处理机上运行。

实际

在实际业务中,是指服务器在同一时间访问的人数,人数越大,瞬间带宽要求更高。

服务器并发量分为

  • 1.业务并发用户数;
  • 2.最大并发访问数;
  • 3.系统用户数;
  • 4.同时在线用户数;

并发限制因素

带宽: 总带宽 / 8*单个请求大小=允许最大连接数

端口:已经固定了,服务器监听的端口

内存:(总内存 - 系统需要的内存) / 每个线程或者进程需要的内存=支持最大连接数

CPU: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

实际

对绝大多数场景,可以用 (用户总量/统计时间)*影响因子(一般为3)来进行估算并发量

举例:

作为外卖APP大部分人都会在高峰期进行点餐,所以对于外卖APP这类应该单独进行考虑。
我们采用2/8原则来估算并发用户数,即80%的用户数会在高峰期点餐,而高峰期设定为11-12,17-19点一共5个小时,在这种情况下估算并发用户数:

平均并发用户数C=125000*5*0.8/5*60=1666
并发用户数峰值C`=1666+3*根号 1666=1788

本文来自网络收集

你可能感兴趣的:(服务器并发)