文章目录
性能测试
1. 性能测试的一些基本概念
性能测试和功能测试的区别
- 功能测试:验证产品的功能有没有做到
- 性能测试:验证产品有没有做好
性能的好坏与不好
较好的性能:电商双十一高并发,期间创建订单、提交支付、生成订单,每秒交易达到10万笔,系统依然能抗压
较差的性能:一有点热搜就蹦的平台…
如何衡量性能的好坏:通过数据来进行展示,借助工具所监控和收集的各项指标来分析系统的性能
2. 性能指标以及名词解释
并发和并发用户数
- 并发:并发强调大量用户+同时性的操作,这样的操作会给服务器造成压力。
- 并发用户数:一起向服务器发送带有压力或者对服务有影响的操作的用户的数量
- 系统用户数:某个系统的注册用户量
- 在线用户数:登录了系统或者说正在使用系统的用户数量
响应时间/平均响应时间
对于用户的角度来说:从请求出发后,直到看到响应结果这段时间就是响应时间
响应时间跟多个方面都有关系:用户的带宽、运营商、服务端:带宽、运营商等等都有关系
平均响应时间:如果响应时间比较平均,那么平均响应时间就有参考意义。如果响应时间波动范围比较大,那么平均响应时间就没有参考意义
请求响应时间:服务器收到用户请求并把响应内容发送出去。
事务
比如说:购买一件商品,生成订单的过程中可能会涉及到多个功能(支付功能、优惠券、商品库存、银行系统等),但用户只是关注支付花了多长时间,但这整个过程就是关于支付的事务操作。
事务响应时间:处理请求对应的事务的时间
每秒事务通过数(TPS Transaction Per Second):TPS 是指每秒系统能够处理的事务数,它是衡量系统处理能力的重要指标。每秒事务通过数越高,对应的性能越好。
如果TPS较小,那并不说明系统的性能一定不好,有系统比价复杂,一个事务可能对应多个操作。
点击率
比如说点击了web页面,点击率代表用户每秒向web服务器提交的http请求数(注意:点击率不是鼠标的一次点击,一次点击可能会有多个http请求)
吞吐量
系统处理在某段时间内处理客户请求的数量。
吞吐率:吞吐量/时间,单位时间内处理的客户请求数量,单位:秒。体现软件系统的性能承载能力。
单位时间内系统处理用户发起的请求的数量对应的资源大小。
思考时间
指的是用户请求之间的间隔时间,比如说用户在百度框输入内容后再点击百度一下按钮之间的停顿间隔时间。
资源利用率
资源:包含CPU、内存、硬盘、网络等
比如说有两个APP:
- 第一款APP:能够运行在5年前的手机上,占用的内存较少
- 第二款APP:只能够运行在2年前的手机,占用的内存较大
假设有1000W用户,500W人用的是5年前的手机,500W人用的是2年之内的手机。
对于第一款APP来说资源利用率是100%,对于第二款APP来说,资源利用率50%。
假如说有一款软件,占用的CPU资源比较高,那么说它的性能就稍差一些。
3. 性能测试分类
一般性能测试
验证软件在正常情况和系统条件下,验证系统是否满足性能指标。
负载测试
验证系统在一定压力下验证系统的运行时间,知道系统性能出现“拐点”
压力测试
验证系统在已经处于极限负载下或者某指标已经处于饱和状态下系统性能的表现(往往会把系统高崩溃)
稳定性测试
验证系统在连续运行的情况下,查看系统的各项指标是否存在异常。
假设有一个水瓶。
在水瓶装一大半水的时候我们就以认为这是一般性能测试,当水瓶已经装了90%后再装水就是负载测试,而当水瓶快装满时还往水瓶装水就属于压力测试。