面试课程__性能测试讲解(5.1)

news/2024/11/28 14:11:39/文章来源:https://www.cnblogs.com/weiyus1916/p/18570617

一、你做过性能测试吗?

方法1:做过

方法2:在公司性能是专门性能小组做的,但是我也会做

二、性能测试有哪些类型?

(1)压力测试(破坏性测试)
压力测试是系统在一定饱和状态下,例如:cpu、内存、磁盘io在饱和使用情况下,不断给系统施加压力,看系统处理能力,以及系统是否会出现错误;
(2)负载测试
负载测试是对测试系统不断增加压力,直至性能指标超过预期或者某项资源使用达到饱和状态。
(3)稳定性测试
稳定测试就给系统施加一定压力,持续运行一段时间(7*24),观察系统能否稳定运行。
(4)基准测试
基准测试在给系统施加较低压力时,查看系统的运行状况并记录相关数作为基础参考 。
(5)并发测试
并发测试是指模拟多用户并发访问同一个应用,模块或者数据记录时可能发生的性能问题。(聚合点)

三、性能测试你使用什么工具做的?

(1)jmeter 开源、免费、安装方便

(2)loadrunner 收费、专业、安装软件大(4g多)

四、性能测试流程?
答案:
1)需求的分析
2)性能计划的编写
3)性能场景的设计
4)脚本的开发(录制脚本)1、自己写 2、通过录制(a、badboy b、反向代理录制代理脚本)
5)性能环境和数据的准备
6)性能的执行(jmeter)
7)性能结果分析
8)性能报告
9)性能调优

五、性能测试你关注哪些指标?===》sir__性能指标___归纳、 性能插件详解:sir__性能指标详解
答案1:
软件指标:响应时间、错误率、吞吐量、tps、并发数、中位数、hps、事务每秒数、成功率、

硬件指标:cpu、内存、硬盘、网络i/o ,

软件指标:
响应时间:对请求作出响应所需要的时间
错误率: 经系统处理的事务出现错误的概率,对应着实际用户使用系统功能失败的情况。理想情况下错误率应保持极低水平。
吞吐量:单位时间内处理的客户端请求数量
tps(事务每秒数):在每秒时间内系统可处理完毕的事务数。TPS很大程度体现系统性能能力。
并发数:测试时同时系统发出事务请求的数量,并发线程数用以模拟同时与系统建立连接的用户。 并发是指多个用户在同一时期内进行相同的事务处理或操作。绝对并发是指同一时刻(即同一时间点)并发用户对服务器同时发送请求。相对并发是指一段时间内(即同一时间区间)并发用户对服务器发送请求
hps:一秒钟的时间内用户对Web页面的链接、提交按钮等点击总和
事务成功率
硬件指标:
cpu:一般不超过80%
内存:一般要小于70%与cpu沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存分为物理内存、页面交换(Paging),SWAP内存(虚拟内存)
磁盘I/O:一般不超过30%,磁盘吞吐量,指单位时间内通过磁盘的数据量。主要关注磁盘的繁忙率,如果高于70%,则磁盘瓶颈
网络I/O:一般不超过%30的带宽、网络吞吐量,指单位时间内通过网络的数据量,当吞吐量大于网路设备或链路最大传输能力,即带宽时,则应该考虑升级网络设备或者增加带宽

(1)tps计算 :

这3个个公式都是对的
第1个公式计算的是绝对的TPS,也是瞬间TPS,jmeter中的throughput是吞吐量是平均TPS,这个绝对TPS指的是某个点的值

第2个公式计算的是业务的TPS,指的是每天80%的业务量都是发生在20%的时间内,列如当前线上APP1.0试⽤系统主要为查询类交易,交易占⽐40%,系统⽣产交易量统计为1个⽉约20W笔,假设APP2.0系统上线后业务量激增到每⽇查询类20W,则每⽇总交易量T达到:
T = 20W/40%=500000笔/⽇
系统处理能⼒TPS推导:APP2.0上线后交易量最⼤500000笔/⽇,系统晚间⼏乎⽆交易量,按2:8原则推算,则(50000080%)/(820%3600)=69.4笔/秒,取整为70笔/秒,每年按业务量增长50%计算,则⼀年后系统处理能⼒指标约等于
70+70
50%=105笔/秒。

第3个公式计算和第2个有点类似,但是加了一个冗余系数这个是为了后续业务增长做容量规划使用的,比如现在的系统需要支持105笔/秒,后续随着业务增加可以扩个2-5倍。

六、性能测试中遇到的问题?====》sir__性能出现问题___归纳

(1)问题1:提现申请接口3-5个线程并发时,容易引起死锁现象,经优化后,Tps达到224左右,且没有死锁现象出现;

(2)问题2:账单查询接口,优化索引前,响应时间为8s左右,Tps为11;
优化索引后,响应时间缩短为0.15秒左右,Tps升为560左右

七、性能测试压测50怎么做的?

案例1:
在工作中我测试会对单个接口进行压测或一个性能场景进行压测;首先会分析需求,根据需求分析接口和场景做性能;设计性能场景;根据性能场景使用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和iostat和dstat命令去监控它的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.性能调优方案、

=======================================

面试题:

1、你会性能测试吗?

2、你是如何做性能测试的?(性能测试流程)

3、性能测试你关注性能哪些性能指标?

4、性能测试中遇到什么问题?什么原因引起?如何解决?

5、性能测试报告包含哪些内容?

6、结合你的项目中一个接口或一个场景讲下你做过的性能测试的具体数据?

========================================================

1、你做过性能测试吗?
2、你用什么做性能测试?
3、具体讲下你如何进行性能测试?
4、性能测试在什么阶段开始做的?
5、性能测试有遇到什么问题
6、你关注的性能指标有那些?
7、性能测试有那些类型?
8、为什么要做性能测试?
9、性能测试的流程?
10、性能调优有做过吗?
11、如何识别性能的瓶颈?
12、性能测试报告包含那些内容
13、性能测试数据?
14 、性能是在什么环境测试?如何模拟用户数嗯?
15、什么叫吞吐量?吞吐量如何计算?
16、性能测试需求哪里来的?
17、中间件?
18、LaodRunner 有用过吗?
19、什么叫tps,如何计算?
20、性能测试有遇到报错的语句?
21、你如何去排查性能问题?
22、线程和进程有了解吗?他们之间的关系和区别?
23、性能测试压力上不去的原因有那些
24、性能的硬件指标如何测试?
25、分布式性能测试有了解吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/841729.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

活动报名!《国产开源数据库PolarDBPG专家训练营》北京站

2024年11月29日, 由PolarDB社区联合PostgreSQL社区发起的《国产开源数据库PolarDB+PostgreSQL专家训练营》在北京站正式开课。 PostgreSQL中文社区理事长及多位核心成员汇聚上地国际人才会客厅会议室,为大家带来为期一天的技术盛宴,和大家一起分享PolarDB和PostgreSQL数据库知…

RPA处理京东商智系统日期控件

需求:在 京东商智系统-流量概况 页面批量抓取指定商品在指定日期范围内每一天的搜索关键词TOP5数据 京东商智系统,搜索关键词TOP5、时间控件展示如下(该时间控件不支持手工输入日期,也不支持选择指定月份\年份,只能通过左右按钮切换年月和点击日历上的日期来选择指定日期)…

有了这套车间生产看板,生产进度一目了然

一般来说,生产安排搞定之后,接下来盯着生产计划执行的情况就成了生产管理的关键。要是生产进度跟不上,产品没法按时交货,那对企业的盈利和品牌形象可都是影响不小,可能会出现下面这些问题:实时数据问题:企业很难获实时生产进度数据,使管理层无法及时掌握生产状况,难以…

罐笼乘坐人员超限识别智慧矿山一体机非煤矿山算法安全监管的智能化升级

在矿山行业中,安全始终是最为关键的议题。智慧矿山一体机专为矿山安全监控和管理设计,集成了多种智能化功能,以提升矿山的安全监管能力和生产效率。本文将详细介绍识别智慧矿山一体机在非煤矿山中的应用,特别是其罐笼乘坐人员超限识别算法的工作原理、技术实现以及实际应用…

pikachu平台XXE漏洞通关教程详解

声明! 如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人无关,切勿触碰法律底线,否则后果自负!!!!工具在网盘,自取 通过网盘分享的文件:phpstudy 链接: https://pan.baidu.com/s/1l0jpNGQvYMwRSq3BhD…

An Empirical Model of Large-Batch Training

目录概Gradient Noise ScaleMcCandlish S., Kaplan J., Amodei D. and OpenAI Dota Team. An empirical model of large-batch training. 2018.概 本文讨论了随着 batch size 改变, sgd-style 的优化器的学习应该怎么调整. Gradient Noise Scale考虑如下的优化问题: \[\tag{1} …

算法网关视频分析网关拍照检测高空抛物检测算法:守护城市安全的“天眼”

高空抛物,一个看似微不足道的行为,实则隐藏着巨大的安全隐患。随着城市化进程的加快,高层建筑如雨后春笋般拔地而起,高空抛物现象也随之增多,给人们的生活带来了严重的威胁。从烟头、饮料瓶到花盆、垃圾,这些被随意抛掷的物品,一旦从高空落下,其破坏力不容小觑。 为了有…

jquery仿PPT幻灯片特效插件ppt.js

ppt.js是一款jquery仿PPT幻灯片特效插件。该jquery插件基于jquery来显示图片翻页效果,可全屏显示,以及自定义图片的宽度和高度。演示 下载使用方法 在页面中引入jquery和ppt.js文件,以及字体图标文件iconic和插件样式文件ppt.css。<link rel="stylesheet" hr…

性能指标详解

一、监听器中的插件 @gc - Active Threads Over Timeip 活动线程时间 @gc - AutoStop Listener 自动停止侦听器 @gc - Bytes Throughput Over Timejp 字节吞吐量随时间变化 @gc -Composite Graph 综合图 @gc - Connect Times Over Timejp 连接时间 @gc -Console Status Loggerj…

leetcode78 子集

leetcode78 子集思路:深度优先搜索回溯 分析此类问题可以先用树形结构模拟代码逻辑。那么根据这个解答树,首先我们的回溯搜索函数应该由这么几部分组成将搜索获得的答案加入到res中。 for循环遍历搜索下一个元素(比如在初始列表为空的时候,第一位可以选1,2,3显然需要通过…