性能测试常见问题

常见知识点

1、二八原则

80% 的业务在20% 的时间内完成 

例:如某个公司1000个员⼯,在周五下午3点-5点有90%的员⼯登陆公司周报系统
则:业务量=1000个,时间=2x60x60=7200秒
所以:TPS =(1000*0.9*0.8 )  / (7200*0.2) =0.5

二八原则计算的结果并非在线的并发用户数,而是系统要达到的处理能力

2、漏斗分析模型

性能测试常见问题_第1张图片

通过对真实客户数据的分析,设计更有效的性能测试模板,每个环节要达到的权重是多少

收集数据--分析数据--生成测试数据模板--使用数据模板

3、压测模型

  • 固定模型
  • 脉冲模型  :会在延迟时间到达之后,将tps 置为指定值

  性能测试常见问题_第2张图片

  • 阶梯模型  : 初始延迟时间结束后,会将TPS 逐步调节为固定值

    性能测试常见问题_第3张图片

4、负载

系统负载的定义:cpu 单位时间间隔内运行职工的队列的平均线程数,值越低越好 ,一般单个cpu 不超过0.7 ,多个CPU 例如4核,不超过 4*0.7=2.8

Linux 的负载高,是CPU 使用,内存使用,IO 消耗三部分构成。

负载高常见的有硬件或程序问题,如果是软件问题,可能是系统的JAVA线程被长时间占用,大量内存长时间占用

1)是否有内存泄漏导致FGC

2) 是否存在死锁

3)大字段读写

4) 数据库操作,慢sql 

5、QPS,TPS,RT,吞吐量

定义:链接

QPS:每秒查询率

TPS:每秒处理事务请求

响应时间:请求从开始发送请求到最后收到响应数据所花费的时间

并发数:系统能同时处理的请求数量

计算公式:

QPS=并发数/平均响应时间

当qps 维持在一个固定值的时候,增大并发数的情况,会导致响应时间增长 (举例:车辆并发通行的时候,不是所有的车通过都是1s ,请求过来需要排队,导致响应时间变大) 

注意:

每个系统都有一个最佳的线程数,当系统达到最佳的线程数后,qps会维持不变,rt 变成,随着线程数增加,QPS 开始下降 ,瓶颈可以是CPU,可以是内存,可以是锁资源,IO 资源:超过最佳线程数--导致资源的竞争,超过最佳线程数-响应时间递增。

性能测试常见问题_第4张图片

6、压力机

当压力机到达一定的瓶颈的时候,增加线程数,不会使QPS 增加,只会使RT 增加

你可能感兴趣的:(软件测试,压力测试)