性能测试基础

1.性能测试应用领域有哪些

能力验证:乙方通过性能测试向甲方证明自己所陈述的能力,出具报告

瓶颈分析:能力验证过程中发现性能瓶颈,找到性能问题

性能调优:针对发现的性能瓶颈和问题做调优

容量规划:着眼于未来。为将来可能出现的用户暴增做提前规划

2.性能测试三个基本思路是什么

测什么:了解性能需求,了解项目架构,了解业务内容

怎么测:用例设计,方案设计,场景设计,脚本设计运行

对不对:数据整理,需求对比,经验判断

3.交付一个性能测试项目,请阐述你的性能测试流程

了解性能需求

了解项目组织架构(mysql+nginx+tomcat+java....)

熟悉业务流程

设计用例和方案(并发数设计,测试场景设计)

准备测试数据(csv参数化,jdbc...)

设计测试脚本(线程组设计,参数化,业务关联,断言)

运行观察脚本,获取性能数据(监听器,非gui的html报告...)

性能瓶颈分析(tps衰减,响应时间异常,超时,内存泄漏)

性能调优(cpu调优,内存调优,磁盘调优,网络调优...)

性能测试回归(直到测试结果满足需求)

出具测试报告

持续监听(grafana+influxdb)

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

准备用户数据(涉及csv参数化)

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过多:数据包过多,分片过多

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容