【性能测试】企业性能测试-并发用户数估算(详细)


前言

并发用户数:是指现实系统中操作业务的用户,在性能测试工具中,一般称为虚拟用户数(Virutal User)。

并发用户数和注册用户数、在线用户数的概念不同。

并发用户数一定会对服务器产生压力的;
而在线用户数只是 ”挂” 在系统上,对服务器不产生压力;
注册用户数一般指的是数据库中存在的用户数;

TPS:Transaction Per Second, 每秒事务数, 是衡量系统性能的一个非常重要的指标。

TPS就是每秒事务数,但是事务是基于虚拟用户数的,假如1个虚拟用户在1秒内完成1笔事务,那么TPS明显就是1;

如果 某笔业务响应时间是1ms,那么1个用户在1秒内能完成1000笔事务,TPS就是1000了;

如果某笔业务响应时间是1s,那么1个用户在1秒内只能完 成1笔事务,要想达到1000TPS,至少需要1000个用户;因此可以说1个用户可以产生1000TPS,1000个用户也可以产生1000TPS,无非是看响应时间快慢。

也就是说,在评定服务器的性能时,应该结合TPS和并发用户数,以TPS为主,并发用户数为辅来衡量系统的性能。

如果必须要用并发用户数来衡量的话,需要一个前提,那就是交易在多长时间内完成,因为在系统负载不高的情况下,将思考时间(思考时间的值等于交易响应时间)加到脚本中,并发用户数基本可 以增加一倍,因此用并发用户数来衡量系统的性能没太大的意义。

在性能测试时并不需要用上万的用户并发去进行测试,如果只需要保证系统处理业务时间足够快,几百个用户甚至几十个用户就可 以达到目的。

据他了解,很多专家做过的性能测试项目基本都没有超过5000用户并发。因此对于大型系统、业务量非常高、硬件配置足够多的情况下,5000 用户并发就足够了;对于中小型系统,1000用户并发就足够了。

系统吞吐量几个重要参数:TPS、并发数、响应时间

TPS:每秒钟事务数量
并发数: 系统同时处理的事务数
响应时间:一般取平均响应时间

TPS=并发用户数 / (响应时间+Thinktime)

并发用户如何计算?

1、经典公式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、通用公式2

对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量。

比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为50000*80%/(3*60*60)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大!

3、根据PV计算公式

比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为:

1000w*80%/(9*3600)=246.92个/s,取经验因子3,则并发量应为:
246.92*3=740

4、根据TPS估计

公式为 C = (Think time + 1)*TPS

5、根据系统用户数计算

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

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

在奋斗的道路上,别惧怕失败与困难,因为只有经历磨难,才能绽放光芒。坚持梦想,拥抱挑战,追逐辉煌的人生。

人生如逆水行舟,不进则退。唯有坚定信念,不断奋斗,才能驶向理想的彼岸,让我们一起迎接挑战,创造辉煌的未来。

勇往直前,不畏艰辛,只有奋斗才能创造奇迹;相信自己,超越极限,梦想的火焰将点燃人生的辉煌。

  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值