Jmeter系列(29)- 性能指标(2) | 并发数

并发数

概念

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

通过问题详解

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

并发数计算

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

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

经典公式

  • 平均并发用户数: 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%
posted @   葛老头  阅读(1000)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示