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

这里写目录标题

  • 前言
  • 一、压测监控平台组成
  • 二、性能监控平台部署 - 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创建容器命令

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

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

docker exec –it jmeterdb bash

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

执行 influx命令进入命令台

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

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

> create database jmeter;
> show databases;
name: databases
name
----
_internal
jmeter
> use jmeter;
Using database jmeter

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

> show databases;
name: databases
name
----
_internal
jmeter

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

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

性能测试——jmeter实时压测结果收集_第1张图片
在Backend Listener implementation 中选择 InfluxdbBackendListenerClient (注
意:必须使用jmeter 5.0以上版本,否则需要单独装插件才可以看到这个组件)

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

配置参考图
性能测试——jmeter实时压测结果收集_第2张图片

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

> select * from jmeter;
name: jmeter
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
----                ----------- ---                ----- ---------- ------ --- ---  ----- ------ --- ----- ------- -------            -------            -------            --     ------------                                                      ---------------                                                   --    -------- ------ -----------
1684502522446000000 baidu                                           0               0     0          0                                                                                                                                                                                                                       0               internal
1684502523664000000 baidu       42                 5     0                 5   94                25        30      94                 94                 94                 12485                                                                                                                                      575            all    all
1684502523667000000 baidu       42                 5                           94                25        30      94                 94                 94                 12485                                                                                                                                      575            all    Baidu Request
1684502523668000000 baidu       42                 5                           94                25        30      94                 94                 94                                                                                                                                                                           ok     Baidu Request
1684502523669000000 baidu                                           5               3     2          1                       

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

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

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

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

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

4、配置InfluxDB 数据源
输入 URL : http://[hostname or IP]:8086
Database : jmeter
其余参数保持默认值
性能测试——jmeter实时压测结果收集_第3张图片
性能测试——jmeter实时压测结果收集_第4张图片
5、单击 Save & Test 按钮,确认返回消息提示正确确认信息
性能测试——jmeter实时压测结果收集_第5张图片
6、在Grafana 内导入JMeter Dashboard
进入Home Dashboard 页面,选择Import

打开实现准备好的URL:https://grafana.com/grafana/dashboards/4026
单击Load按钮导入
性能测试——jmeter实时压测结果收集_第6张图片
7、在 DB name 中选择 InfluxDB
单击 Import 按钮完成 Dashboard 导入

性能测试——jmeter实时压测结果收集_第7张图片
8、打开刚刚导入的JMeter Dashboard 查看结果
性能测试——jmeter实时压测结果收集_第8张图片

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

在JMeter中,分别将线程数分别调整为 10, 20, 30; 持续压
测时间为20秒
分别对系统施加压力测试,然后在 Grafana 面板中可以看到运行
结果
性能测试——jmeter实时压测结果收集_第9张图片
性能测试——jmeter实时压测结果收集_第10张图片
性能测试——jmeter实时压测结果收集_第11张图片
性能测试——jmeter实时压测结果收集_第12张图片
性能测试——jmeter实时压测结果收集_第13张图片
性能测试——jmeter实时压测结果收集_第14张图片

你可能感兴趣的:(性能测试,jmeter,数据库,docker)