性能测试流程整理

  • Post author:
  • Post category:其他





性能测试流程


一:熟悉产品业务流程

需求文档;了解系统架构,中间件,数据库,服务器,等配置信息;


二:由项目经理或产品提供一个压测指标;进行测试场景的设计




三:使用jmeter等压测工具编写测试脚本

,配置压测环境,部署性能监控服务等操作


四:执行性能测试脚本,进行压测



五:分析压测结果,输出性能测试报告


问:如果没有给出性能测试指标,你该如何开展性能测试?


答:一般此问题可以通过针对俩种项目做解答;

一:老项目,已经上线过的项目,可以通过部署监控系统,埋点,nigix中间件等来跟踪用户数,获得在线用户数,各个接口的请求数,并发度等信息来计算TPS; ,比如监控获取某接口 1分钟的峰值调用量为1万,及1万除60秒,TPS大约在160左右,

二:新项目

新项目一般会遵循一个二八原则,及80%的请求会在 20%的时间内完成

,比如需要上线一个新功能;当前系统的注册用户数有50万人,活跃在线用户数有10万人,在极端情况下,在项目上线后,会有10万人去使用这个功能,那么80%的用户数就是 8万人, 然后计算20%的时间,一普通的系统中,一般都是24小时开启的,但在晚上0点到第二天6点用户量很少,去除6小时就是18个小时;然后乘一个20% 就是3.6小时,1万2千多秒;使用8万除1万2千多秒;差不多就是6.6TPS左右; 但在实际上线后需要考虑可能用户量会增多,或者一个用户量会访问多次这个业务;所以需要设置一个冗余系数,一般设置为 2-5左右;这里取4为冗余系数的话,此功能的预估TPS就是25TPS左右

最后一种呢就是公司什么性能指标都没有,用户量,日活系数等都没有,那就不关心指标了,直接编写脚本进行压测;将压测后的数据,TPS,响应时间等信息发送给领导或者相关人员,由领导来定夺此次性能是否满足要求;


问:性能测试场景该如何设计?



1.基准测试


常规理解的基准测试是单线程跑10分钟;或者单线程循环100次之类类;查询正常线程的TPS指标;

还有一种情况,就是采用 单接口 梯度压测的方法;
在这里插入图片描述

得出单接口最大的TPS和对应的响应时间;为后面做容量测试做指标对比


2.容量测试

–谓容量,即系统处于最大负载状态或某项指标达到所能接受的最大阈值下对请求的最大处理能力。

容量测试,一般采取的梯度压测的方法;

容量测试指检查系统能处理最大业务量,在测试过程中采用梯度加压的方式不断增加并发用户量,监控响应时间和系统资源的变化情况,响应时间曲线的拐点是业务量就是系统最大业务量//测试人员测试,时间较久;

容量测试是跟进响应时间的拐点或不平稳的响应时间来分析系统瓶颈

容量测试需要

场景不断。控制比例。


首先要有不同业务之前的占比;然后通过jmeter的吞吐量控制器来控制比较进行梯度压测

在这里插入图片描述

在这里插入图片描述


3.稳定性测试


一般是直接采用最大的TPS跑 12个小时,或者24小时

或者说 由业务方面给出一个某段时间的业务量去跑;如24小时内业务量200万,就是200万除最大的容量TPS,得到的时间就是需要去跑的时间;跑的过程中系统趋于稳定即可;


4.负载测试


是通过逐步增加系统负载,测试系统性能的变化,并在满足最终确定性能指标的情况下,系统所能承受的最大负载量的测试;就是一直压;压到超过规定的响应时间等上限,TPS上限等;


5.异常值测试


比如当采用分布式架构时,手动关闭一个服务器后,一定的压力下;系统能否稳定;


问:如何使用jmeter编写性能脚本

持续更新中…



版权声明:本文为For_if_while原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。