怎么计算性能指标?

由于性能指标计算公式较多,测试人员对公式理解不够深入,存在用错公式的情况,本文主要介绍性能指标、性能指标计算公式,并提供通用的性能指标计算指引,引导项目人员进行性能指标的计算。

性能测试指标通常分为业务指标、资源指标。业务指标:从业务人员的角度得出来的,例如:并发用户数、TPS、成功率、响应时间。资源指标:从运维人员的角度得出来的,例如:CPU资源利用率、内存利用率、I/O、内核参数(信号量、打开文件数)等。

不同用户对系统的指标类型和期望值是不一样的,需要提前针对不同角色的人员进行指标调研,设定阈值,测试出系统在阈值下的性能,瓶颈定位及调优。未提前关注测试指标,将会导致测试结果不是相关人员需要的,结果是有偏差的。

1.1业务指标

业务响应时间(Response Time):这个指标所有相关人员都明白其含义,业务部门更需要此指标的具体值,一般情况下,不同系统的业务响应时间期望值是不同的,1秒以内最佳。

业务处理能力(Transaction Per Second):这个指标是衡量系统的处理能力的一个非常重要的指标,TPS可以参照同行业系统和结合具体业务,中小企业TPS值为50~1000笔/秒,银行TPS值为1000~10000 笔/秒。

成功率:这个指标是衡量系统处于压力下,业务的成功率,一般业界成功率要大于99.6%。

1.2 资源指标

 一般情况下,系统资源指标也不能超过瓶颈值,例如CPU资源利用率<=75%,内存无SWAP, 磁盘和网络I/O不超过自身处理能力。理想的情况下,当系统压力上不去的时候,资源成为瓶颈(正常情况下,非其他瓶颈情况下导致),这样的话加资源,系统处理能力还会上升的,但是遗憾的是,很多系统性能测试资源都没达到瓶颈的时候,压力就上不去了。

1.3并发用户数和tps关系

在做性能测试的时候,很多人都用并发用户数来衡量系统的性能,觉得系统能支撑的并发用户数越多,系统的性能就越好;对TPS不是非常理解,也根本不知道它们之间的关系,因此非常有必要进行解释。

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

参考下图:并发用户数是10,运行了10分钟,平均响应时间是1129ms,共发送了5237个请求。

TPS计算:总数据量除以使用的时间,得出单位时间内处理数量,即5273/(10*60)=8.78 

TPS还有另外一种计算方法: TPS =并发用户数/平均响应时间

TPS =10/1.129=8.85

性能测试指标计算的公式有很多,每个公式的应用条件也不一样。这里特别说明一下使用公式2 需要用户使用系统的数据分布符合泊松分布才行,抢购等指定时间举行的活动不符合泊松分布,因此不能使用该公式进行计算。

图片

通常情况下系统并没有明确的性能测试指标,这时若业务属于已运营业务,已有历史数据,利用历史数据分析,得出指标;若业务属于新业务,没有历史数据,只有凭借经验以及系统类型进行分析预估,得出指标了。拿到什么样的数据就用什么公式,具体计算方法如下:

图片

案例一:某网站一天访问量是300W,怎么性能指标计算?

答: 300W是PV,另外还需要和产品沟通系统每天正常访问时长,比如T小时。根据80~20原则:80%的业务量在20%时间完成。

通过28原则,计算系统整体能力TPS:300W*0.8/(T*60*60*0.2)

计算到这里还没有完,我们还需要确定各个业务模块占比,例如:首页、登录、页面查看、功能提交等不同模块的访问占比。最后根据业务的不同占比组合成混合场景进行测试。

案例二:一个OA系统,该系统有3000个用户,(可以看登录信息)平均每天大约有400个用户要访问该系统,(日志文件查看)对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。

答:该系统用户使用习惯符合泊松分布理论,故直接使用该公式进行计算。

C=N*L/T =400*4/8

n是平均每天访问用户数(login session),L是一天内用户从登录到退出的平均时间(login session的平均时间),T是考察时间长度(一天内多长时间有用户使用系统)

案例三:

项目总用户量30(学生25万、老师5万),预计在2020年1月15日  上午8到12点有25万学生都登录该系统查考试成绩,平均每个用户访问时长是:14分钟42秒。

用户使用步骤:打开首页->登录->点击查看报告->切换科目(共计切换4科)->全部预览原卷(4个原卷)->查看试题分析(共计4科)->回执单,每个步骤一个transaction,共计16个transaction。

求:计算系统需要支持最大并发用户数和TPS是多少?

图片

答:

TPS计算:

方法一:25W用户需要在4个小时内登录访问系统,我们先计算系统登录需要的性能,登录需要的TPS = 业务量×80% / 时间×20% = 250000×0.8/14400×0.2 = 69.4

然后用户业务模型分析,整个查分过程有16个事务,整体的tps为

 总TPS= 69.4*16=1110.4  即系统每秒需要处理1110.4个事务。

方式二:通过PV/UV预估系统系统TPS

1) 通过PV/UV计算出未来25W用户总体的PV数量

PV=7040664/393053*250000

2)通过28原则计算系统TPS

TPS=PV*80%/(4*3600*20%)=1243

并发用户数:

方式一:

使用泊松分布公式计算,平均并发用户数:C=nL / T。

N为访问系统的UV数量250000

L=14.42分钟=882(s)

T=4小时=14400(s)

则C=n·L/T=250000×882/(4×3600)≈15313人

方式二:

根据TPS=并发用户数/响应时间

得出并发用户数=TPS*3=1250*3=3750

疑问:并发用户数一个计算的是15000,一个3750,为什么会有这么大的差距?因为此次指标计算强制要求用户在某天的4个小时内访问完成,已经不符合泊松分布式理论。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值