码迷,mamicode.com
首页 > 其他好文 > 详细

性能测试

时间:2020-07-19 23:54:06      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:关注   迭代   功率   执行   基线   存在   负载   总数   需要   

开始性能测试前需要了解的内容

  1、项目具体需求,主要是从需求说明书或者规划。

  2、指标:响应时间在多少以内,并发数多少,tps多少,总tps多少,稳定性交易总量多少,事务成功率,交易波动范围,稳定运行时长,资源利用率,测哪些交易,哪些接口,测试哪些场景。

  3、环境:生产环境服务器数量,测试环境服务器数量,按照资源配比得出测试指标。

  4、协议:系统用什么协议进行通讯。

  5、执行机数量:如果并发用户数太多,需要把压力发到不同的压力机,不然可能会存在压力机瓶颈问题,导致tps和响应时间抖动。

  6、交易占比:分析线上日志得出tps占比。

  7、系统架构:请求流经过哪些环节,压测时监控这些环节。

测试阶段

一:性能基线

  1、定义基线的数据规格与指标

二:综合压力

  1、基准:例如:一个用户迭代100次,关注响应时间,事务成功率100%。

  2、负载:例如:10个用户跑10分钟,关注响应时间,事务成功率100%。

  3、容量:估算一个总tps,根据公式计算出每个交易的pacing和vu,获取系统最大处理能力(最优容量),再令外测出三个梯度作为对比(两组小于最优容量,一组大于最优容量),四组容量VU等差,tps等差,对比每组容量实际占比和测试占比(越接近越能模拟真实场景),关注响应时间,总tps,tps,事务成功率,AP cpu利用率,DB cpu利用率,线程死锁,数据库死锁。

          其中响应时间应小于负载测试时间,总tps应约等于预估总tps(相差不超过10是正常的),每个交易的tps应接近预估总tps*占比,事务成功率100%,AP cpu小于60%,DB cpu小于80%。dump线程栈检测是否有线程死锁,查看数据库日志看是否有数据库死锁。

  4、稳定性:采取最优容量的80%作为压力持续运行24小时,观察系统长时间运行的性能表现,关注响应时间,tps,总tps,事务成功率,交易总数,观察是否有内存溢出(堆溢出,栈溢出,持久代溢出),cpu利用率是否达标,mem是否不持续增长,是否能正常触发fullgc,gc时间,gc频率, fullgc时间,fullgc频率(重点关注,JVM调优就是为了减少fullgc频率)。

     

过程中的监控

  1、cpu与内存的资源占用率

  2、页面响应时间

  3、接口响应时间

  4、接口响应次数

  5、火焰图(可选)

性能测试

标签:关注   迭代   功率   执行   基线   存在   负载   总数   需要   

原文地址:https://www.cnblogs.com/zhangyanshared/p/13341348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!