最近因为项目需要做性能测试,所以整理下性能测试前需要知道、准备的相关东西和性能测试关注点
一:工具
1:LoadRunner或者jmeter。压测性能选择的是:LoadRunner。
LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上 千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个 企业架构进行测试。
2:服务器资源监控工具:nmon。
nmon是一个简单的性能监测工具,可以监测CPU、内存、网络等的使用情况。它是一个系统监视、调优、性能测试工具,它能一次性提供大量性能相关的信息。
二:准备事项
1:数据库:
1.1:需要知道在什么数据量上进行系能测试。数据库配置、资源要与生产上一致;预期的基础数据量产品部需要给出;
1.2:造基础数据:给出数据库基础数据后,就需要造数据使数据库相关库表的数据达到期望的基础数据(一般是等于或者高于现在生产环境数据)。造数据方式:存储过程批量插入数据、用jmeter或者loadrunner脚本发交易(项目是接口)
1.3:压测前需要备份数据库(为了方便回到压测前版本,便于分析)。
2:程序包
2.1:备份包。一般产品组会压求压一下升级前的性能,在和优化后性能做对比。这样可以版本会切换。可以先把程序包备份下,方便自己回退版本(项目是采用jekens自动打包部署)。
三:性能测试实现目标
1:判断软件是否满足预期的性能需求(如果设计时有 性能需求且性能需求合理).
2:判定软件的性能表现
3:寻找软件可能存在的性能问题,定位性能瓶颈并解 决问题
三:关注点-性能指标
3.1:指标统计
场景设计:事物(交易)、用户数、运行时间
指标统计一般关注:TPS、响应时间、成功事物数、失败事物数
3.2:服务器资源监控
服务器资源监控关注:CPU、内存
四:性能测试测试类型
4.1:并发性能测试:该测试过程是一个负载测试和压力 测试的过程,即逐渐增加负载,知道系统的瓶颈或者 不能接收的性能点,通过综合分析交易执行指标和 资源监控指标来确定系统并发性能的过程,并发性 能测试是负载压力测试中重要内容
场景:因为项目是聚合支付平台,对外提供支付相关接口,如:实时代收接口、快捷支付接口、单笔代付接口等。
单交易并发:一般压测先考虑单一场景(单一接口)压测系统承受能力(10个用户并发请求实时代收接口,系统性能);
多交易并发:在考虑多场景(同时请求多个接口)系统承受能力;多场景并发一般会有虚拟用户数分配。如:按照实例用户比例支付占80%,退款占10%,取消占10%(该比例需要产品组提供相关指标),则100个用户并发则分配给支付接口用户是80个,退款虚拟用户数是:10个,取消交易用户数是:10个
4.2:疲劳强度测试: – 通常采用系统稳定运行情况下能够支持的最大并 发用户数,或日常运行用户数,持续执行一段时 间业务,保证达到系统疲劳强度需求的业务量, 通过综合分析各类指标来确定系统处理最大工作 量强度性能的过程。一般情况下利用疲劳强度测 试来模拟系统日常业务操作。
系统稳定性测试:用户数一般是:TPS最高的并发用户数*80%;持续向服务器发送请求一段时间看系统指标