前言:最近经常有朋友会问我性能测试相关的问题,于是就po了这篇文章,供大家参考;恰好前段时间有空简单整理了一份性能测试工具(loadrunner)里主要相关参数之间的对应关系文档,今天就直接贴出来了,比较粗浅,大家凑和着看吧,哈哈~
一、性能测试概念
1、性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
2、性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。
二、简介生产部署
1、数据流向为:互联网—某平台—Nginx—节点—DB,LR性能测试一般是从Nginx开始。
2、性能测试需要的时长概括:
(1)交易时长,数据库表A;字段A_DATE,A_TIME,A_RSP_DATE,A_RSP_TIME
(2)Process耗时,数据库表B;字段B_SEND_TIME,B_REC_TIME
(3)交易时长与Process耗时关系,交易时长包括Process耗时,即交易时长>Process耗时;在LR性能测试时可以通过耗时来判断哪些方面是需要优化的点,当然也可以用zabbix监控来直接判断哪些点是需要优化的。
三、性能测试主要参数之间的关系
1、TPS与响应时长
(1)当其他条件不变的情况下,TPS随着响应时长的增加做线性递减:响应时长不会无限增加,响应时长在一定情况下随着Vuser做平稳的减速增长,但达不到一个极限值;在实际生产环境中,响应时长因为节点,DB的设定关系(POOL值,对队列值,节点个数,DB数据量)随着Vuser的增加而做平稳的波动的。如图2
2、TPS与Vuser
(1)当其他条件不变的情况下,TPS随着Vuser做减速增加:TPS因为节点的设定不会随着Vuser的增加而无限增加,但达不到一个极限值;
(2)在性能测试时,可以通过TPS与Vuser的线性关系来判断性能在哪个环节上受到了限制。随着虚拟用户的增加TPS增加,到达一个值后不会增加并呈现稳定波动形式,可以初期判断是节点限制了性能(TPS);再者通过增减节点个数、队列值,通过TPS与Vuser数值关系前后对比来确定数据流向在哪个环节受到限制。如图3
3、响应时长与Vuser
(1)当其他条件不变的情况下,响应时长随着Vuser的增加有三个阶段(平稳增加,加速递增,减速递增);通过上述两个图形关系不难理解响应时长与Vuser的图形关系。如图4
四、性能测试执行
(一)录制/调试脚本
(二)设置场景
1、添加执行机
2、设置
3、用户数执行时间设置
4、监控及运行
(三)日志数据提取
1、打开日志
2、TPS
3、平均响应时间
4、事物成功率
5、CPU内存利用率等
五、性能测试结果分析
1、通过性能参数之间的对应关系来分析性能测试结果
六、性能测试报告
1、根据需求指标来详细描述性能测试结果
领取专属 10元无门槛券
私享最新 技术干货