今天终于理解这些性能指标了

如果要问性能测试里那种技术最难,相信很多人都会说出“性能分析”这四个字。确实是,性能测试的执行是比较简单的,难的是执行完成后,如何分析这些数据。如何从一大堆数据里分析哪些数据是优秀的,哪些数据是有问题的。这非常考验一个人的综合技术能力,技术广度和深度要同时兼备才行。

要想学会性能数据分析,深刻理解性能指标很关键,只有对每个指标都如数家珍,知道每个指标代表的含义,才能发掘数据背后性能问题。

今天我就用一个生活中的例子,讲一讲性能测试里最核心的几个指标

01 一个跟钱有关的例子

业务场景:

客户端就像是一个公司,服务端就像是一个银行,用户就是公司中的财务。公司需要现金时,就会派一个财务从公司出发,到银行大厅取现金,等待银行准备完毕后,财务带上现金再回公司。

这个过程就相当于客户端发出请求,请求到达服务端,服务端处理完成后,再给客户端返回响应。

图片

02 并发用户数

定义:同时向服务器发送请求的用户数

几个容易混淆的概念:

  • 注册用户:在系统中注册成功的用户数量,也就是数据库里存储的用户数量

  • 在线用户:同时处于在线状态的用户数量,也就是已经登录成功的用户数量

  • 并发用户:同时向服务器发送请求的用户数量,也就是正在做同一个业务的用户数

在银行的例子里,注册用户就是银行的开卡用户数;在线用户就是进到银行内部的用户数,但是有些用户可能正在里面休息,不办业务,并不会对银行造成压力;并发用户就是正在办理取款业务的用户数。很明显注册用户 > 在线用户 > 并发用户

03 TPS

Transaction Per Second,每秒钟处理的事务数

在服务端接口性能测试中,事务Transaction可以理解成一次接口调用,所以TPS其实就是服务端每秒钟处理多少次接口调用。如果TPS越高,证明服务端项目的处理能力就越好,性能就越好

在银行的例子里。如果有很多财务人员同时来银行办业务,假设银行每秒能处理1000笔业务,那就可以说银行业务的TPS=1000,这个数值越大,证明银行单位时间内能办的业务就越多,性能就越好

04 平均响应时间

响应时间Response Time,简称RT,指的是服务端处理完一个请求所花费的时间,通常时间单位为毫秒ms。

平均响应时间就是n多个请求响应时间的平均值。平均响应时间越短,代表性能越好,TPS就越高。银行办理业务的速度越快,单位时间内处理的业务量越多,因此性能就越好。

05 网络吞吐量

吞吐量就是单位时间内网络中的流量,一般都是以秒为单位。具体分为上行流量下行流量。数据的单位就是KB或MB

  • 客户端发给服务端的数据用的是上行流量

  • 服务端返回给客户端的数据用的是下行流量

网络就是公司到银行的路,TPS越高,吞吐量就越大。如果银行的性能好,效率很高,意味着财务在银行等待的时间就短,从而路上的人流量就会越多。

在做性能测试时,需要对网络中的流量做监控,判断网络是不是存在瓶颈。如果当前网络中的流量有没有达到网络带宽的上限。上行和下行任何一个流量达到上限,就说明网络出现瓶颈

06 并发数、TPS、平均响应时间之间的关系

在系统达到性能瓶颈之前:TPS和并发数成正比关系,即并发数越高,TPS越高;

达到瓶颈后:并发数增加,TPS不会继续增高(甚至会下降),这个最高的tps出现的点,叫做拐点

TPS和平均响应时间成反比关系,即平均响应时间越小,TPS就越高

图片

还是银行的例子,站在银行的角度来看,随着办业务的人越多,那同一时刻银行的处理业务量就越大,但是银行的处理能力总有一个上限,当用户量达到某个值后,处理能力就能达到巅峰。此时如果再来更多的用户,银行的处理能力也不会增加了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值