性能测试——jmeter实时压测结果收集

落日映苍穹つ 2024-03-22 19:37 197阅读 0赞

这里写目录标题

  • 前言
  • 一、压测监控平台组成
  • 二、性能监控平台部署 - InfluxDB
  • 三、性能监控平台部署 - JMeter
  • 四、性能监控平台部署 - Grafana
  • 五、性能监控平台部署 – 运行与结果展示

前言

测试报告 .vs. 压测监控
JMeter原生测试报告带来的“痛苦”

• 不具备实时性
• 报告中的数据是测试时间段内的平均值
• 长相问题

压测监控平台的优势

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

一、压测监控平台组成

• JMeter:压测工具, 产生压测数据
• InfluxDB: 开源时序数据库, 特别适合用于处理和分析资源监控数
据,用于存储压测数据
• Grafana:度量分析与可视化图标展示工具,可以支持不同种类的
数据源,用于将存储于InfluxDB中的数据以图表的形式展示出来

二、性能监控平台部署 - InfluxDB

部署方法: Docker 部署
1、事先准备:
• 安装Docker
• 下载influxDB镜像: docker pull influxdb:1.8

2、启动 influxDB 容器
将新 influxDB 容器命名为 jmeterdb, 执行docker创建容器命令

  1. docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb
  2. influxdb:1.8

执行如下命令进入容器内部

  1. docker exec it jmeterdb bash

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

执行 influx命令进入命令台

  1. root@1b2e93bb7534:/# influx
  2. Connected to http://localhost:8086 version 1.8.10
  3. InfluxDB shell version: 1.8.10

4、执行类sql语句 创建jmeter数据库:create database jmeter;

  1. > create database jmeter;
  2. > show databases;
  3. name: databases
  4. name
  5. ----
  6. _internal
  7. jmeter
  8. > use jmeter;
  9. Using database jmeter

5、创建完jmeter数据库之后执行如下命令验证数据库已经创建成功:
show databases;

  1. > show databases;
  2. name: databases
  3. name
  4. ----
  5. _internal
  6. jmeter

三、性能监控平台部署 - JMeter

1、在JMeter中添加 Backend Listener 组件
Backend Listener 组件,用于收集数据并发送给influxdb

在这里插入图片描述
在Backend Listener implementation 中选择 InfluxdbBackendListenerClient (注
意:必须使用jmeter 5.0以上版本,否则需要单独装插件才可以看到这个组件)

• 在influxdbURL中将实际的influxdb hostname填写进去
• application中填写 baidu
• 在testTitle中填写 Baidu Testing
• percentiles 中填写 50;90;95;99
• 将 summaryOnly 设置为false(让influxdb收集更多的详细信息)
• 其余配置保持不变

配置参考图
在这里插入图片描述

2、运行JMeter , 然后在 influxdb中检验是否已经能够接受到数据
在influxdb 命令台中使用查询语句,检查是否已经能够收到数据

  1. > select * from jmeter;
  2. name: jmeter
  3. time application avg count countError endedT hit max maxAT meanAT min minAT pct50.0 pct90.0 pct95.0 pct99.0 rb responseCode responseMessage sb startedT statut transaction
  4. ---- ----------- --- ----- ---------- ------ --- --- ----- ------ --- ----- ------- ------- ------- ------- -- ------------ --------------- -- -------- ------ -----------
  5. 1684502522446000000 baidu 0 0 0 0 0 internal
  6. 1684502523664000000 baidu 42 5 0 5 94 25 30 94 94 94 12485 575 all all
  7. 1684502523667000000 baidu 42 5 94 25 30 94 94 94 12485 575 all Baidu Request
  8. 1684502523668000000 baidu 42 5 94 25 30 94 94 94 ok Baidu Request
  9. 1684502523669000000 baidu 5 3 2 1

四、性能监控平台部署 - Grafana

1、事先准备
部署方法: Docker 部署
下载镜像: docker pull grafana/grafana
启动镜像:

  1. docker run -d -p 3000:3000 --name=jmeterGraf
  2. grafana/grafana

2、访问 Grafana 的控制台链接,验证它已经运行正常
默认用户名/密码:admin / admin,登录之后请跳过修改密码

3、在Grafana中添加数据源
• 选择 Add data source
• 找到 InfluxDB
• 单击选择该DB

4、配置InfluxDB 数据源
输入 URL : http://\[hostname or IP]:8086
Database : jmeter
其余参数保持默认值
在这里插入图片描述
在这里插入图片描述
5、单击 Save & Test 按钮,确认返回消息提示正确确认信息
在这里插入图片描述
6、在Grafana 内导入JMeter Dashboard
进入Home Dashboard 页面,选择Import

打开实现准备好的URL:https://grafana.com/grafana/dashboards/4026
单击Load按钮导入
在这里插入图片描述
7、在 DB name 中选择 InfluxDB
单击 Import 按钮完成 Dashboard 导入

在这里插入图片描述
8、打开刚刚导入的JMeter Dashboard 查看结果
在这里插入图片描述

五、性能监控平台部署 – 运行与结果展示

在JMeter中,分别将线程数分别调整为 10, 20, 30; 持续压
测时间为20秒
分别对系统施加压力测试,然后在 Grafana 面板中可以看到运行
结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,197人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Jmeter

    Jmeter工具使用入门教程 添加线程组 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text