当前位置:网站首页>性能测试基础笔试题
性能测试基础笔试题
2022-07-19 05:07:00 【海澜明月】
1.性能测试应用领域有哪些
能力验证:乙方通过性能测试向甲方证明自己所陈述的能力,出具报告
瓶颈分析:能力验证过程中发现性能瓶颈,找到性能问题
性能调优:针对发现的性能瓶颈和问题做调优
容量规划:着眼于未来。为将来可能出现的用户暴增做提前规划
2.性能测试三个基本思路是什么
测什么:了解性能需求,了解项目架构,了解业务内容
怎么测:用例设计,方案设计,场景设计,脚本设计运行
对不对:数据整理,需求对比
3.交付一个性能测试项目,请阐述你的性能测试流程
了解性能需求
了解项目组织架构(mysql+nginx+tomcat+java…)
熟悉业务流程
设计用例和方案(并发数设计,测试场景设计)
准备测试数据(csv参数化,jdbc…)
设计测试脚本(线程组设计,参数化,业务关联,断言)
运行观察脚本,获取性能数据(监听器,非gui的html报告…)
性能瓶颈分析(tps衰减,响应时间异常,超时)
性能调优(cpu调优,内存调优,磁盘调优,网络调优…)
性能测试回归(直到测试结果满足需求)
出具测试报告
4.性能测试类型有哪些?
并发测试
多线程在单位时间内同时发起单次请求,观察响应时间(注意集合点)
负载测试
持续不断的增加压力(并发用户/每秒请求),观察tps和响应时间的变化趋势,找到瓶颈点(性能衰减点)
基准测试
基准并发
基准负载
用并发基准点做一次简单的脚本测试,得到一个基线,为下一次的回归做理论依据
压力测试
稳定性压力测试
脚本以最大压力的80%做持续运行(1h,1d,1w)
破坏性压力测试
不考虑服务器的稳定性,直接以极限压力测试,目的是破坏服务器,直接找到异常(内存溢出,超时)
失效恢复测试
系统在出现异常之后,能否及时恢复
5.描述一下tps和rps指标
rps:request/persecond 每秒请求
tps:transaction/persecond 每秒传输(每秒处理)
rps是可变的,不论是并发用户还是单位请求数,都会影响到rps
tps是有最大值的,衡量了服务器的性能瓶颈。tps到达瓶颈点之后,就会出现性能衰减
瓶颈点之前:rps增加,tps也增加
瓶颈点之后:rps增加,tps不变或者下降
压力测试都是通过不断地调整rps(增加并发,增加请求),测试tps
6.jmeter的核心工作原理是什么
基于协议:http,udp,ftp
多线程:模拟并发用户,设计压力值
场景设计:模拟用户的真实使用场景,获取准确的性能数据
核心工作原理:基于各种协议,通过多线程的方式,模拟各种用户场景去施压服务器,获取性能测试结果
7.什么是Ramp up?为何要设置ramp up?
Ramp up:线程延迟启动,让瞬时压力不是特别大
delay:延迟分配内存
ramp+delay=延迟分配线程内存
8.jmeter的请求压力怎么设计
同7
9.tcp在OSI模型的哪一层
tcp在传输层
应用 会话 表示 传输 网络 接口 物理
三次握手和四次挥手
10.集合点的作用是什么,什么是强制等待和隐式等待?
线程启动是有时间的,所以请求并不是在同一时间发起
集合点的作用就是保证线程全部集合完毕,同时发起请求
强制等待:超时时间=0,一定会等到所有线程集合完毕再发起请求
隐式等待:超时时间!=0,在超时时间范围内,无论集合了多少线程都会优先发起
11.什么是关联,如何动态关联?有哪几种关联的方法?
关联:让业务上下游衔接起来
比如新增-修改-删除
再比如:登录-后续请求
正则关联,json关联,jdbc关联,登录关联,xpath关联,css关联
12.应用层有哪些性能指标?
TPS
HPS
RT
ERRROR
VU
13.代理服务器怎么过滤请求
抓包的时候可能会抓到很多静态资源,需要过滤掉
包含模式:.+(port).+
14.cpu利用率的合理范围是多少
50%<sy+us<80%
15.前端性能重点关注哪几个指标
首屏时间
脚本加载时间
帧率:一帧需要花费的时间,或者每秒有多少帧(fps)
16.什么是负载测试?负载测试目的是什么?负载模型有哪些
持续不断的增加压力值(并发用户或者单位请求)
并发用户模型:阶梯加压线程组
单位请求模型:rps定时器(基于最大线程范围内的rps)
17.设计一个登录的并发测试场景
先确定并发用户数,假设1000
100并发,加集合点
200并发,加集合点
500并发,加集合点
。。。
观察响应时间的变化趋势
基于1000并发的负载测试
观察cpu和内存的变化趋势
19.jmeter负载测试中怎么保持session会话?
让登录并发和后续请求的并发保持关联性,同时又不影响后续的性能
保存登录的session数据(存本地或者存系统属性)。后续请求可以并发直接读取session
20.并发测试为什么要做csv参数化
为了数据的合理性,用户数据都会经过数据库
21.响应时间如何分层分析
latency:响应延迟
connect time:网络连接
服务处理时间
latency=网络时间+服务处理时间
剖析性能问题存在于网络还是服务端
22.你遇到过哪些性能问题?可能的原因有哪些?
out of memory :内存溢出 调整jvm,gc频率
connect timeout:连接超时
port aready use:端口占用
jmeter线程阻塞:调整本机的java内存
tps波动剧烈:内存,cpu,磁盘都有可能
网络IO过多:数据包过多,分片过多
边栏推荐
- el-transfer 左侧右侧默认数据展示
- 6.双向绑定(v-model)的实现
- mongodb 更新运算符(修改器)
- php二位数组 按照里面的某个字段排序
- ES6语法(let、const、var 的区别、解构赋值、箭头函数、剩余参数、Array 的扩展方法)
- 83-局部组件的复用[父传子]
- 计算属性computed和watch侦听属性
- What is the difference between pointer array and array pointer?
- 价值1500的全新UI众人帮任务帮PHP源码/悬赏任务抖音快手头条点赞源码/带三级分销可封装小程序
- 15. Built in instructions
猜你喜欢
【论文】MEC: Memory-efficient Convolution for Deep Neural Network
83 reuse of local components [parent to child]
Standard IO and file IO
如何解决跨域问题
Page search highlighting function, the page automatically matches keywords, scrolls to the middle of the screen, and highlights.
100-京东导航栏-插槽使用-弹性布局(display: flex;)
基于C语言实现的学生管理系统
Windows下PHPStudy服务环境80端口被进程System占用的解决方法
Simple construction of local image server
[learning notes] "machine room reservation system" operation replay and problem summary
随机推荐
php二位数组 按照里面的某个字段排序
ES6之Object.defineProperty 和 Proxy 区别
100-京东导航栏-插槽使用-弹性布局(display: flex;)
Intermediate date between calculation start date
Promise 解决回调地狱、async await 修饰符
11. Monitoring attribute - Watch
el-transfer 左侧右侧默认数据展示
74-学生管理系统-添加-删除-展示
WordPress函数大全,学会了你就可以做主题了
My first blog
What is the difference between pointer array and array pointer?
10.计算属性——computed
MVVM模型
PHP微信扫码关注公众号并授权登录源码
Page search highlighting function, the page automatically matches keywords, scrolls to the middle of the screen, and highlights.
scroll系列
69 simple chat dialog - expand - recall function
数组的 reduce方法
数据代理理解
【数据库基础】MySql基础总结