性能测试
一、
1、你做过性能测试吗? 做过(之前公司性能测试有专门性能小组做性能测试,但是我也会做,我是用jmeter做单个接口场景或多个接口混合场景的性能)
2、性能测试有哪些类型?
(1)压力测试(破坏性测试)
(2)稳定性测试
(3)负载测试
(4)基准测试
(5)并发测试
三、性能测试使用什么工具?
(1)jmeter 开源、免费、安装简单,方便
(2)loadrunner 收费 、专业 、安装软件 大 4g
四、性能测试流程?
(1)需求分析(性能要求)(估计生产环境来确定 )
(2)性能计划编写
(3)性能场景的设计
(4)搭建性能环境和性能数据
(5)BADBOY录制脚本(脚本的开发)
(6) 性能执行(jmeter工具)
(7)收集性能结果并分析
(8)输出性能报告
(9)性能调优
五、性能测试你关注的性能指标?
软件指标:吞吐量、响应时间、错误率、中位数、并发数(最佳并发数、最佳并发数)、点击率、tps、qps、hps等
硬件指标:内存、cpu、硬盘、网络i/o
六、性能测试中遇到的问题?参考:https://www.cnblogs.com/xiaolehua/p/14203981.html
(1)问题1:
1.1 提现申请接口3-5个线程并发时,容易引起死锁现象,经优化后,Tps达到224左右,且没有死锁现象出现;
(2)问题2:
账单查询接口,优化索引前,响应时间为8s左右,Tps为11;
优化索引后,响应时间缩短为0.15秒左右,Tps升为560左右
七、性能测试具体怎么测试的?
案例1:我是用jmeter工具做的测试,在工作中我测试会对单个接口进行压测或一个性能场景进行压测;首先会分析需求,根据需求分析接口和场景做性能;设计性能场景;根据性能场景使用badboy(或反向代理录制脚本)录制脚本;将录制的脚本进行参数化、并且调通;在测试计划中设置并发数,设置并发时间,在添加查看结果树、聚合报告、tps插件、hps插件、混合图标、图像报告、表单报告等插件,在服务器中也可以使用nmon来采集硬件指标:cpu、内存、硬盘、网络I/等,或top命令去监控,在点击执行;然后就能检测到性能参数;在收集的实际性能指标进行分析和预期指标进行对比。对比后分析性能问题,给出性能报告;最后在进行性能调优。
案例2:
性能测试或者压力测试你是怎么做的?
我们产品经理首先会评审性能需求,产品经理把需求分析过后,我们就根据需求做性能场景的设计,比如我就拿登录-贷款资料录入-初审-回退-重新提交-复审-签约接口这样的一个场景,和您这边大概说一下:
首先我会设计好这个性能测试用例之后,然后接着在Jmeter里面开始组建接口,把接口请求组建好之后,然后再添加吞吐量定时器,再添加TPS插件,HPS插件,以及混合图表,查看结果树,聚合报告,以及对应的一个并发线程数比如50,然后选择压测10分钟,然后就开始点击运行,进行压测,在压测过程当中,我一般会通过混合图表去看当负载不断升高的时候,也就是我的并发线程数,它负载升高的时候我的接口的响应时间跟我的TPS之间的一个曲线变化,当我的TPS到达最高点,响应时间开始急剧上升的时候,这个时候一般就会出现一些捌点或瓶颈点,那我们去看一下它后续的一个曲线变化是怎么样的,后续如果TPS没有很快的急剧上升而是平缓的运行,我们这个时候就会去看它的、监控它的TPS是否符合我们原来设定的那个TPS、因为之前我们计算得出来的TPS需要高于105笔/秒,但我压的时候平均都能达到300多TPS,TPS这块就是符合需求的,但是只关注这个标指标还不行,还需要关注这个接口它的平均响应时间是不是在3秒钟之内。0到1秒一般是比较优秀,说明这个接口响应时间必较快速,1到3秒合格,超过了3秒我这边就会调整并发或者rps并且重新去压,还有就是错误率。我们之前的错误率指标需要低于0.1%,如果错误大于了0.1%此时说明接口有很多的报错,也是不符合性能要求的, 直到我们压完之后如果TPS达标,接口平均响应时间达标,错误率达标之后。
我们还需要在服务器端用top命令去监控它的cpu和内存,如果CPU和内存的使用率都能低于70%的话那就说明没问题,我会去输出性能测试报告,然后再发送报告给到我整个项目组。
八、性能预期指标
九、性能压测实际结果
十、接口调用统计信息
1.1.1 用户激活状态接口:200线程并发执行,Tps为570,响应时间为218ms
1.1.2 通用对外白名单查询接口:200线程并发执行,TPS为450,响应时间为6ms
1.1.3 提现申请20线程并发执行,Tps为224,响应时间为66ms
1.1.4 通用对外福贷主状态查询:200线程并发执行,Tps为485左右,响应时间为345ms
1.1.5 信贷系统查重接口200线程并发执行,Tps为1293左右,响应时间平均11ms
1.1.6 在途申请查询接口:200线程并发执行,Tps为960左右,响应时间平均143ms
1.1.7 额度查询接口:200线程并发执行,Tps为960左右,响应时间平均130ms
1.1.8 日利率查询:200线程并发执行,Tps为1008左右,响应时间平均38ms
1.1.9 账单查询接口:50线程并发执行,Tps在570左右,响应时间平均97ms
八、性能测试报告?(编写)
1、测试背景
2、测试目的
3、测试范围
4、测试环境、
5、系统调用链路
6、压测指标
7、测试结果
8、问题列表
9、性能调优方案
九、性能调优?