直播 20:00 开始

JMeter性能监控平台训练营

JMeter性能监控平台
训练营

霍格沃兹测试开发学社

ceshiren.com

目录

  • 开营仪式
  • 环境准备
  • 实战练习
  • 总结

开营仪式

讲师介绍

  • 盖盖
    • 霍格沃兹测试开发学社讲师
  1. 前知名在线教育资深测试开发工程师
  2. 为多家企业客户提供测试技术支持。
  3. 擅长Java、Docker、Python等。
  4. 有多年自动化框架二次开发经验。

学习问题

  1. 碎片化时间较多,完整学习时间较少。
  2. 刚学习到的知识很容易忘。
  3. 如果学习过程中没有正向反馈,容易放弃。
  4. 不了解自己的学习效果,学习之后到底掌握了多少。
  5. 学习之后不知道如何面试。

结合 PDCA 法则科学设计训练营

英文名称 含义 训练营
P Plan 计划 学习计划
D Do 执行 录播与直播学习、群内答疑、远程服务
C Check 检查 作业检查学习内容
A Action 处理 作业讲解

开营目标

  • 夯实性能工具应用 - JMeter基础使用
  • 熟悉性能测试工程师核心技能 - 监控平台
  • 体验 VIP 服务,短时聚焦,提升性能测试能力

学习计划(Plan)

时间 目标 内容
第一天 筑基 搞定环境配置、掌握 JMeter基本使用
第二天 提升 熟悉 InfluxDB + Grafana 环境搭建
第三天 拔高 实现压测结果实时上传性能监控平台

学习内容(Do)

https://v2.vip.ceshiren.com/#/course/course-center/xnxly_0509

答疑服务(Do)

  • 环境安装搞不定?
  • 课程资料找不着?
  • 练习过程有问题?

找助教班主任

作业检查(Check)

作业点评

作业讲解(Action)

训练营成果演示

监控平台

环境准备

  • Java 安装配置:
    • 推荐 Java 版本:1.8 以上
    • Window64位请选择X64
    • Window32位系统请选择X86。 -MAC
    • 操作步骤:录播PPT。
  • JMeter 安装:

性能监控系统价值

JMeter自带报告 VS 实时监控

JMeter自带报告 VS 实时监控

  • JMeter原生测试测试报告带来的“痛苦”:

    • 不具备实时性
    • 报告中的数据是测试时间段内的平均值
    • 长相问题
  • 压测监控平台的优势:

    • 实时展示JMeter压测数据
    • 数据范围可选
    • 界面更友好

实战思路

相关知识点

形式 章节
知识点 JMeter 基本操作
知识点 Docker 常用命令
知识点 InfluxDB 搭建
知识点 Grafana 搭建
知识点 Grafana配置数据源InfluxDB
知识点 压测数据上传

JMeter压测脚本实战 - 基本请求的脚本编写

目标:

  • 掌握JMeter基本请求编写

  • 掌握请求发送的结果查看

需求说明

  • 压测目标:Reqres API

  • 压测场景:发送Get请求,查看请求结果是否正确返回。

设计压测脚本

  1. 访问被测页面:Reqres API

  2. 校验返回值判断是否正确。

1. 压测脚本创建

GUI模式启动JMeter

1)打开JMeter并添加线程组

测试计划(Test Plan) -> 添加(Add) -> 线程(Threads) -> 线程组(Thread Group)

2)添加HTTP请求

线程组(Thread Group) -> 添加(Add) -> 采样器(Sampler) -> HTTP 请求(HTTP Request)

3)HTTP请求编写

Reqres API

3)HTTP请求编写

GET请求

3)HTTP请求编写

服务器名称路径参数填写。

4)响应断言

  1. 响应断言:请求组件(HTTP Request) -> 添加(Add) -> 断言(Assertions) -> 响应断言(Response Assertion)。

响应断言组件

5)查看测试结果

测试计划(Test Plan) -> 添加(Add) -> 侦听器(Listener) -> 查看结果树(View Results Tree)

6)查看测试结果

xmljtlcsv
注意⚠️:建议使用未存在文件。

2. GUI界面运行脚本

保存脚本(.jmx) 并运行。
单击绿色按钮或快捷键{Window}Ctrl+R/{Mac}Command+R运行。

结果文件查看

  • 默认配置下,jtl文件保存的字段为:

    timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
    1673149864221,6824,GET API,200,OK,Thread Group 1-1,text,true,,1744,123,1,1,https://reqres.in/api/users?page=2,6823,0,1
    

结果文件字段

字段 说明
timeStamp 时间戳,毫秒;如:1673149864221
elapsed 耗时,毫秒;从发送请求到收到最后一个响应,所花费的时间;不包括渲染请求所花费的时间,同时也不包括处理客户端脚本所花费的时间
label 取样器名称 如:GET API
responseCode HTTP响应code码;如:200
responseMessage 响应的message消息;如:OK
threadName 线程名;如:Thread Group 1-1
dataType 参数的数据类型;
success 请求是否成功;
failureMessage 响应的失败的message消息;
bytes 请求样本字节数
sentBytes 发送样本字节数
grpThreads 当前线程组的线程数
allThreads 所有线程组的线程数
URL 请求地址路径
Latency 延迟的耗时
IdleTime 空闲时间,毫秒;
Connect 连接建立的时间

学习路线

JMeter压测脚本实战 - 多请求的脚本编写

目标:

  • 掌握JSON提取器使用。
  • 掌握JMeter编写带参数的请求发送。

需求说明

设计压测脚本

  • 登录,获取相应中的token值。

  • 增加商品类别,post请求带参数。

  • 查询商品类别,get请求带参数。

获取token

设计压测脚本

压测脚本知识点

形式 章节
知识点 JSON提取器
知识点 HTTP信息头管理器
知识点 POST请求携带body参数

福利放送

Docker 安装和介绍

搭建存储计算引擎 InfluxDB

搭建数据分析展示系统 Grafana

压测结果实时上传性能监控平台实战