直播 20:00 开始

JMeter性能监控平台训练营

转发直播间到朋友圈,可找班班领取福利课程

JMeter性能监控平台
训练营

霍格沃兹测试开发学社

ceshiren.com

目录

  • 内容回顾
  • 环境准备
  • 实战练习
  • 总结

内容回顾

  • JMeter单接口请求
  • JMeter多接口请求
    • 响应断言
    • 后置处理器
  • 查看结果树
  • JsonPath表达式

作业解析

  • 常见问题

训练营模式

  • 三天直播
  • 案例入手,从基础到进阶
  • 学员系统一站式学习体验
  • 及时的课后练习和作业点评
  • 听课福利大放送

学习计划(Plan)

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

训练营成果演示

监控平台

服务部署方式

  1. 直接在服务器centos系统上使用Linux命令直接部署;

  2. 用 Docker 的方式进行安装部署。「建议使用」

Docker 安装和介绍

Docker是什么??

Docker基本概念

Docker 包括三个基本概念:

  • 镜像(Image):相当于是一个 root 文件系统。

  • 容器(Container):是镜像运行时的实体。

    镜像(Image)和容器(Container)的关系就像是面向对象程序设计中的类和实例一样

  • 仓库(Repository):可看着一个代码控制中心,用来保存镜像。

Docker

Docker 验证

Docker 安装

  • -y:所有选择 Y/N 的地方都默认为 Y。

    # 直接安装docker
    yum install -y docker
    

问:安装成功后可以直接运行docker命令吗?

解决方案

# 启动docker服务
systemctl start docker

docker版本验证更新

docker -v

1. 卸载旧版本

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2. 更新 yum 软件包

sudo yum update -y 

3. 安装 Docker 的依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

4. 添加 Docker 的 YUM 软件源

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5. 安装最新版的 Docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

6. 启动 Docker 服务

sudo systemctl start docker

#设置开机启动
systemctl enable docker

为什么Docker能比较方便/比较简单的装系统呢?

Docker 常用命令

  • 镜像相关命令:
    • 本地镜像查看。
    • 远端镜像查看。
    • 远端镜像下载。
  • 容器相关命令:
    • 启动容器。
    • 所有正在运行的容器。
    • 查看所有的容器,包括停止的容器。

本地镜像查看

docker images
  • Docker images命令只能列出本地计算机上的Docker镜像列表

远端镜像查看

docker search influxdb

远端镜像下载

docker pull influxdb

本地镜像删除

docker rmi influxdb

启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

查看容器

# 所有正在运行的容器
docker ps

# 查看所有的容器,包括停止的容器
docker ps -a

学习路线

福利放送

存储计算引擎 InfluxDB

  • 时序性数据库。
  • 适合用于存储和查询大量时间序列数据。
  • Go语言编写。
  • 有高性能、水平可扩展、易于使用等特点。

部署存储计算引擎 InfluxDB

# 必须指定版本
docker run -d -p 8083:8083 -p 8086:8086 --name=influxdb influxdb:1.8

部署存储计算引擎 InfluxDB

  • -d:以后台模式启动容器。

  • -p 8083:8083:将本地机器的 8083 端口映射到容器内的 8083 端口,用于 InfluxDB 的 Web 管理界面

  • -p 8086:8086:将本地机器的 8086 端口映射到容器内的 8086 端口,用于 InfluxDB 的 HTTP API

  • –name influxdb:给容器指定一个名称。

  • influxdb:1.8:要启动的 InfluxDB 镜像。

1. 进入容器内部

docker exec -it 容器名称 bash

2. 创建jmeter数据库

  • 在容器内部创建jmeter数据库,用于收集JMeter发送的压测数据:

    # 执行 influx命令进入命令台
    influx
    # 查看当前所有数据库
    show databases;
    # 执行类sql语句 创建jmeter数据库:
    create database jmeter;
    # 创建完jmeter数据库之后执行如下命令验证数据库已经创建成功: 
    show databases;
    

Docker 还原 InfluxDB 数据

  • 将包含要还原的数据的备份文件复制到 InfluxDB 容器中:

    docker cp /path/to/backup <container_id_or_name>:/backup
    
  • 在容器内执行还原命令:

    docker exec -it <container_id_or_name> influxd restore -portable -db <database_name> /backup
    
  • 进入容器验证。

Docker 中导出 InfluxDB 数据

  • 获取正在运行 InfluxDB 容器的 ID 或名称:

    docker ps
    
  • 在容器内执行备份命令:

    docker exec -it <container_id_or_name> influxd backup -portable /backup
    
  • 将备份文件从容器复制到主机:

    docker cp <container_id_or_name>:/backup /path/on/host
    

数据分析展示系统 Grafana

Grafana 中添加数据源时,需要指定数据源类型名称地址授权信息等参数。

搭建数据分析展示系统 Grafana

docker run -idt --name=grafana -p 3000:3000 docker.io/grafana/grafana

  • idt: 这些是 docker run 命令的选项。它们的含义如下:
    • i:保持标准输入 (STDIN) 打开,使容器的标准输入保持可用。
    • d:将容器运行在后台(分离模式)。
    • t:在容器中分配一个伪终端 (pseudo-TTY),以便可以与容器进行交互。

界面验证

访问验证 http://<外网ip>:3000。 输入账号密码为:admin/admin。第一次启动比较慢,需要等待。

私教