如何计算并发数
一、经典公式
一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据
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
二、通用公式:
对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量。
举例
1 |
|
三、根据PV计算公式:
Page Views一般指页面浏览量
1 |
|
四、根据TPS估计:
Transcation Per Second 每秒进行的事务的数目。(整体定义事务的 请求、操作、返回)。
Think Time是一个真实的用户动作之间的等待时间。
公式为 C = (Think time + 1)*TPS
五、根据系统用户数计算:
并发用户数 = 系统最大在线用户数的5%到10%
六、服务的调用方的数量
拿什么来做为并发数
- 并发的用户数。有一部分用户使用业务,另外一部分用户 挂机,没有具体操作。
- 并发连接数。用户和服务器之间的连接。一部分连接在传输数据,一部分连接 仅仅连接而已。
- 并发请求数。有可能请求静态数据,有可能是写操作 这两者消耗性能不一样。
- 并发线程数。系统内,并发的线程数目。线程多不一定是用户造成的,有可能是系统复杂。
以上都不能准确的表示。没有并发数的统一标准。
一般在公司使用:同时服务的调用方的数量。
总结
以上都是预估的。所以都不准确,只能当做参考。真正的线上还是要做好扩容、限流等。
然后才能使用监控服务,对某个服务进行监控。比如淘宝的双11,商户详情服务、订单服务。才能知道峰值的并发数。
如何计算并发数
http://hanqichuan.com/2022/08/10/系统设计/如何计算并发数/