dcsxlh

导航

 

性能测试

一、

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左右,Tps11;

优化索引后,响应时间缩短为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线程并发执行,Tps570,响应时间为218ms

1.1.2 通用对外白名单查询接口:200线程并发执行,TPS450,响应时间为6ms

1.1.3 提现申请20线程并发执行,Tps224,响应时间为66ms

1.1.4 通用对外福贷主状态查询:200线程并发执行,Tps485左右,响应时间为345ms

1.1.5 信贷系统查重接口200线程并发执行,Tps1293左右,响应时间平均11ms

1.1.6 在途申请查询接口:200线程并发执行,Tps960左右,响应时间平均143ms

1.1.7 额度查询接口:200线程并发执行,Tps960左右,响应时间平均130ms

1.1.8 日利率查询:200线程并发执行,Tps1008左右,响应时间平均38ms

1.1.9 账单查询接口:50线程并发执行,Tps570左右,响应时间平均97ms

八、性能测试报告?(编写)

1、测试背景

2、测试目的

3、测试范围

4、测试环境、

5、系统调用链路

6、压测指标

7、测试结果

8、问题列表

9、性能调优方案

九、性能调优?

1、硬件上的性能瓶颈:
一般指的是CPU、内存、磁盘I/O 方面的问题,分为服务器硬件瓶颈、网络瓶颈(对局域网可以不考
虑)、服务器操作系统瓶颈(参数配置)、中间件瓶颈(参数配置、数据库、web服务器等)、应用
瓶颈(
SQL 语句、数据库设计、业务逻辑、算法等)。
2、应用软件上的性能瓶颈:
一般指的是应用服务器、web 服务器等应用软件,还包括数据库系统。
例如:中间件weblogic 平台上配置的JDBC连接池的参数设置不合理,造成的瓶颈。
3、应用程序上的性能瓶颈:
一般指的是开发人员新开发出来的应用程序。
例如,程序架构规划不合理,程序本身设计有问题(串行处理、请求的处理线程不够),造成系统在
大量用户方位时性能低下而造成的瓶颈。
4、操作系统上的性能瓶颈:
一般指的是windows、UNIX、Linux等操作系统。
例如,在进行性能测试,出现物理内存不足时,虚拟内存设置也不合理,虚拟内存的交换效率就
会大大降低,从而导致行为的响应时间大大增加,这时认为操作系统上出现性能瓶颈。
5、网络设备上的性能瓶颈:
一般指的是防火墙、动态负载均衡器、交换机等设备。
例如,在动态负载均衡器上设置了动态分发负载的机制,当发现某个应用服务器上的硬件资源
已经到达极限时,动态负载均衡器将后续的交易请求发送到其他负载较轻的应用服务器上。在
测试时发现,动态负载均衡器没有起到相应的作用,这时可以认为网络瓶颈
 
===================================
面试题:
1、你会性能测试吗?
2、你是如何做性能测试?(性能测试流程)
3、性能测试你关注哪些性能指标?
4、性能测试中你遇到什么问题?什么原因引起?如何解决?
5、性能测试报告包含哪些内容?
6、结合你的项目中的一个接口或场景讲些你做过的性能测试的具体数据?
7、自己用接口测试输出一个性能报告?(并发数200,)
 

 

posted on 2023-02-14 10:00  多测师_肖sir  阅读(60)  评论(0编辑  收藏  举报