弄懂性能测试指标,看再多不如这一篇
Posted 软件测试呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弄懂性能测试指标,看再多不如这一篇相关的知识,希望对你有一定的参考价值。
说起性能测试,相信大家最头疼的都是“性能分析”。确实,性能测试的执行大多数人都能轻松掌握,关键在于执行过后得到的数据,要怎么去分析?如何从中辨别出哪些是优秀的,哪些是有问题的。这就很考验一个人的综合技术能力。
想要搞定性能测试的数据分析,那你对于性能指标一定得如数家珍般的熟悉。明白它们各自代表的含义,才能发掘数据背后性能的问题。
今天我就用一个生活中的例子,讲一讲性能测试里最核心的几个指标。
业务场景:
客户端就好比一家企业,服务端则是一家银行,用户就是企业里的财务。企业需要钱的时候,就会派一个财务从公司出发,到银行去取,等银行准备好了以后,财务带上现金再回公司。
这个过程就等同于客户端发出请求,请求到达服务端,服务端处理完成后,再给客户端返回响应。
1.并发用户数
定义:同时向服务器发送请求的用户数
几个容易混淆的概念:
注册用户:在系统中注册成功的用户数量,也就是数据库里存储的用户数量
在线用户:同时处于在线状态的用户数量,也就是已经登录成功的用户数量
并发用户:同时向服务器发送请求的用户数量,也就是正在做同一个业务的用户数
在刚刚银行的例子里,注册用户就是银行的开卡用户数;在线用户就是进到银行里的用户数,但是有些用户可能正在里面休息,不办业务,并不会对银行造成压力;并发用户就是正在办理取款业务的用户数。
注册用户 > 在线用户 > 并发用户
2.TPS
Transaction Per Second,每秒钟处理的事务数
在服务端接口性能测试中,事务Transaction可以理解成一次接口调用,所以TPS其实就是服务端每秒钟处理多少次接口调用。如果TPS越高,证明服务端项目的处理能力就越好,性能就越好
在银行的例子里。如果有很多财务人员同时来银行办业务,假设银行每秒能处理1000笔业务,那就可以说银行业务的TPS=1000,这个数值越大,证明银行单位时间内能办的业务就越多,性能就越好
3.平均响应时间
响应时间Response Time,简称RT,指的是服务端处理完一个请求所花费的时间,通常时间单位为毫秒ms。
平均响应时间就是n多个请求响应时间的平均值。平均响应时间越短,代表性能越好,TPS就越高。银行办理业务的速度越快,单位时间内处理的业务量越多,因此性能就越好。
4.网络吞吐量
吞吐量就是单位时间内网络中的流量,一般都是以秒为单位。具体分为上行流量和下行流量。数据的单位就是KB或MB
客户端发给服务端的数据用的是上行流量
服务端返回给客户端的数据用的是下行流量
网络就是公司到银行的路,TPS越高,吞吐量就越大。如果银行的性能好,效率很高,意味着财务在银行等待的时间就短,从而路上的人流量就会越多。
在做性能测试时,需要对网络中的流量做监控,判断网络是不是存在瓶颈。如果当前网络中的流量有没有达到网络带宽的上限。上行和下行任何一个流量达到上限,就说明网络出现瓶颈。
5.并发数、TPS、平均响应时间之间的关系
在系统达到性能瓶颈之前:TPS和并发数成正比关系,即并发数越高,TPS越高;
达到瓶颈后:并发数增加,TPS不会继续增高(甚至会下降),这个最高的tps出现的点,叫做拐点
TPS和平均响应时间成反比关系,即平均响应时间越小,TPS就越高
还是刚刚那个银行的例子,对银行而言,随着办业务的人增多,那同一时刻银行的处理业务量就越大,但是银行的处理能力总有一个上限,当用户量达到某个值后,处理能力就能达到巅峰。此时如果再来更多的用户,银行的处理能力也不会增加了。
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频:
零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!
自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享
以上是关于弄懂性能测试指标,看再多不如这一篇的主要内容,如果未能解决你的问题,请参考以下文章