当前位置: 首页 > news >正文

计算并发用户数的五种方法

原文:http://blog.csdn.net/qq_23101033/article/details/74977874

一、经典公式1:
   一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据
 
  1)平均并发用户数为 C = nL/T
  2)并发用户数峰值 C‘ = C + 3*根号C
    C是平均并发用户数,n是login session的数量,L是login session的平均长度,T是值考察的时间长度
    C’是并发用户数峰值
 
  举例1,假设系统A,该系统有3000个用户,平均每天大概有400个用户要访问该系统(可以从系统日志从获得),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4小时,而在一天之内,用户只有在8小时之内会使用该系统。
  那么,
  平均并发用户数为:C = 400*4/8 = 200
  并发用户数峰值为:C‘ = 200 + 3*根号200 = 243

  举例2, 某公司为其170000名员工设计了一个薪酬系统,员工可进入该系统查询自己的薪酬信息,但并不是每个人都会用这个系统,假设只有50%的人会定期用该系统,这些人里面有70%是在每个月的最后一周使用一次该系统,且平均使用系统时间为5分钟。
  则一个月最后一周的平均并发用户数为(朝九晚五):
  n = 170000*0.5*0.7/5 = 11900
  C= 11900*5/60/8 = 124
 
  吞吐量计算为:F = Vu * R / T 单位为个/s
    F为事务吞吐量,Vu为虚拟用户数个数,R为每个虚拟用户发出的请求数,T为处理这些请求所花费的时间
 
二、通用公式2:
  对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量。
  比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为50000*80%/(3*60*60)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大!
 
三、根据PV计算公式:
  比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为:
  1000w*80%/(9*3600)=246.92个/s,取经验因子3,则并发量应为:
  246.92*3=740

四、根据TPS估计:
   公式为 C = (Think time + 1)*TPS

五、根据系统用户数计算:
   并发用户数 = 系统最大在线用户数的8%到12%

转载于:https://www.cnblogs.com/gyadmin/p/8303605.html

相关文章:

  • 非刚性人脸跟踪 —— 面部特征检测器
  • 【编程珠玑】【第二章】编程求解组合问题
  • 设置zookeeper开机自启动
  • JS 获取浏览器和屏幕宽高信息
  • android 通用 Intent
  • 查询注意事项
  • 用Token令牌维护微服务之间的通信安全的实现
  • Angular学习(一)
  • jsp:jstl标签forTokens
  • Fiddler Web Debugger的下载和安装(图文详解)
  • Navicat for MySQL出现1030-Got error 28 from storage engine错误
  • 通过config文件配置动态导入模块
  • 第二次C语言实验报告
  • ThinkPHP3.2 下载、导入Excel表格内容、导出内容到Excel表格功能的设计与实现
  • CORS跨域cookie传递
  • $translatePartialLoader加载失败及解决方式
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • es6
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • PaddlePaddle-GitHub的正确打开姿势
  • Puppeteer:浏览器控制器
  • 编写高质量JavaScript代码之并发
  • 对象管理器(defineProperty)学习笔记
  • 实现简单的正则表达式引擎
  • 小程序测试方案初探
  • 阿里云服务器购买完整流程
  • # 达梦数据库知识点
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (2015)JS ES6 必知的十个 特性
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (C语言)fread与fwrite详解
  • (第61天)多租户架构(CDB/PDB)
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (力扣题库)跳跃游戏II(c++)
  • (算法)Game
  • (转)项目管理杂谈-我所期望的新人
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • ***通过什么方式***网吧
  • ... 是什么 ?... 有什么用处?
  • .Net 6.0 处理跨域的方式
  • .NET Framework杂记
  • .NET Micro Framework初体验(二)
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NetCore部署微服务(二)
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • @font-face 用字体画图标
  • @Transaction注解失效的几种场景(附有示例代码)
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [Android Pro] Notification的使用
  • [Android]竖直滑动选择器WheelView的实现
  • [c++] C++多态(虚函数和虚继承)
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [GDMEC-无人机遥感研究小组]无人机遥感小组-000-数据集制备
  • [HNOI2008]玩具装箱toy
  • [Jenkins] Docker 安装Jenkins及迁移流程