zl程序教程

您现在的位置是:首页 >  .Net

当前栏目

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

2023-02-18 16:26:41 时间

并发数

概念

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

通过问题详解

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

并发数计算

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

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

经典公式

  • 平均并发用户数: 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%