并发数

概念

同时承载正常使用系统功能的用户数量;系统能够同时处理请求的数目。

通过问题详解

  • 问题:网站的并发数,究竟指的同时提交请求的用户数目,还是用户同时提交的请求的数目?
  • 答案:根据这句描述“对网站而言,并发数即网站并发用户数,指同时提交请求的用户数目。”,并发数指同时提交请求的用户数据,可以知道并发数指的是用户数目,那么这个用户数目和请求数据是什么关系呢?因为一个用户在同一时刻,也就只能提交一个请求,所以,并发的用户数目,也就是并发的请求数目。

并发数计算

根据业务场景不同,需求对并发的要求不同,选择相应的并发数计算公式

---------------------------------------------------------------------------------------------------------------------------------------

经典公式

  • 平均并发用户数: C = nL/T
  •  #C是平均并发用户数,
  •   #n是login session的数量(平均每天多少个用户)
  •   #L是login session的平均长度(一天之内用户从登录到退出该系统的平均时间)
  •   #T是值考察的时间长度(在一天的时间内,用户只在多少个小时内使用该系统)
  • 并发用户数峰值: C‘ = C + 3*根号C
  • #C’是并发用户数峰值
例子
系统A,该系统有3000个用户,平均每天大概有400个用户要访问该系统(可以从系统日志从获得),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4小时,而在一天之内,用户只有在8小时之内会使用该系统。
那么,
  平均并发用户数为:C = 400*4/8 = 200
  并发用户数峰值为:C‘ = 200 + 3*根号200 = 243
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

通用公式

  • 对绝大多数场景,我们用:
  • 并发量=(用户总量/统计时间)*影响因子(一般为3)来进行估算。
  •  #用户总量和统计时间使用2/8原则计算,即80%的用户集中在20%的时间
  •  #影响因子,一般为3,根据实际情况来
  •  #通用公式使用了二八原则,计算的并发量即是峰值并发量。
例子
以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据2/8原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为50000*80%/(3*60*60)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

根据PV计算

  • 并发量=(日PV/统计时间)*影响因子(一般为3)
  •  #日PV和统计时间使用2/8原则计算,即80%的用户集中在20%的时间
  •  #影响因子,一般为3,根据实际情况来
  •  #PV公式使用了二八原则,计算的并发量即是峰值并发量。

例子

比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w,pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为:1000w*80%/(9*60*60)=246.92个/s,取经验因子3,则并发量应为:246.92*3=740
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

根据TPS计算

  • 并发量= (Think time + 1)*TPS
  •  #Think time用户在操作过程中的等待时间;即一个事务完成的时间
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

根据系统用户数计算

  • 并发用户数 = 系统最大在线用户数的8%到12%

最新文章

  1. afnetworking报错pointer being freed was not allocated
  2. SqlBulkCopy 从bcp客户端收到一个对 colid 1 无效的列长度。
  3. 将前台json对象传入java后台
  4. WPF控件
  5. erlang note
  6. lintcode:数字组合III
  7. Oracle Enterprise linux 7 安装Oracle11gR2
  8. 【二分+最大团】【HDU3585】【maximum shortest distance】
  9. BLE 安卓APP控制LED灯的实现(转)
  10. Delphi 获取内存及CPU信息的函数
  11. 解决NetStream.appendBytes直播爆音的问题解决
  12. 推荐两个国外公共CDN服务
  13. 从零开始学习PYTHON3讲义(七)条件分支和哥德巴赫猜想
  14. SpringBoot整合Mybatis使用注解或XML的方式开发
  15. 算法实践--最小生成树(Kruskal算法)
  16. yum-内网yum源服务器配置(CentOS6.5)
  17. JavaScript脚本的两种放置方式
  18. c#.net基础
  19. python函数的动态传参.作用域与命名空间
  20. BackBone.js之Router

热门文章

  1. SpringBoot开发十-开发登录,退出功能
  2. ubuntu与主机ping不通的解决办法(主机检测不到虚拟网卡)
  3. MySQL自定义函数与存储过程的创建、使用、删除
  4. 云原生的弹性 AI 训练系列之二:PyTorch 1.9.0 弹性分布式训练的设计与实现
  5. C#录音从声卡
  6. nodejs根据word模板生成文档(方法二)
  7. Django常用 命令
  8. 你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?
  9. docker PXC MYSQL集群节点启动失败/节点顺序消失/只剩一个节点存在问题的解决
  10. 发布 mbtiles 存储的矢量瓦片