Jmeter性能测试监控系统(Jmeter+InfluxDB+Grafana)
发布日期:2023-03-25 18:19:56 浏览次数:6 分类:技术文章

本文共 2197 字,大约阅读时间需要 7 分钟。

目录


一、工具介绍

1. 背景:做过压测的同学都知道,一般我们用 JMeter 做压力测试时,都是使用 JMeter 的控制台,或者装个插件,或者用 JMeter 生成的HTML察看结果,这样也没太大问题,毕竟我们做压测着重关注TPS、响应时间、错误率。但是用这三种方式监控压测结果会面临一些问题:

  • 在 GUI 用插件看曲线,做高并发时并不现实
  • 在场景运行时间比较长的时候,采用生成 HTML 的方式,会出现消耗内存过大的情况
  • 生成的结果保存之后再查看比较麻烦

而用Jmeter + InfluxDB + Grafana这套系统,来监控压测结果可以解决这些问题

2. 以下三个工具配合使用:

 Jmeter:压测执行工具 

 InfluxDB:存储Jmeter压测结果数据

 Grafana:以图形化的方式展示压测结果

3. 数据流转图:

运行Jmeter进行压测,把压测数据存放在InfluxDB中,然后Grafana定时去读取InfluxDB中的数据并展示出来,整个过程都是异步的方式进行数据传递。

二、InfluxDB安装及使用(Windows版)

1. 下载地址:

https://dl.influxdata.com/influxdb/releases/influxdb-1.8.4_windows_amd64.zip

2. 下载后直接解压,不用安装

269a909b90314da6b30dc405d7c34a92.png

3. 修改influxdb.conf配置文件

(1). 修改dir路径

如果不修改dir路径,压测数据会默认存储在C盘里,调整下数据存储位置:

其中:

meta 用于存储数据库的一些元数据

wal   目录存放日志文件

data 目录存放实际存储的数据文件

打开influxdb.conf配置文件,修改数据存储位置,不需要提前建好meta/data/wal目录,直接改配置文件内容即可。

013f52e67ae4457dbf519016fd39fc14.png

(2). 修改[[graphite]]的内容

9425c2e57bc84f219bfd33af803fb823.png

(3). 修改[http]的内容,主要是打开端口,jmeter写入数据和Grafana读取数据都会用上

8083:InfluxDB 的 Web 管理界面端口,web管理端  用户名和密码都是admin

8086:InfluxDB默认监听端口

8088:集群端口

2f783d4a0ee04418a40f45ae003c7a0a.png

4. 运行influxdb

直接打开influx.exe文件的话,不会读取我们更改的配置,需要指定influxdb.conf文件运行,配置的内容才能生效,在cmd窗口切换到influx.exe所在的目录,执行命令:

influxd --config influxdb.conf

出现下图信息,表示启动成功:

96482866975340f5a6510239f0683f18.png

5. 创建数据库

启动成功后,点击influx.exe文件,出现一个新的命令行窗口,在窗口中输入命令:create database 数据库名   创建数据库,存储Jmeter压测结果数据,后面 Grafana也会用到该数据库读取数据。

0ed393a99e02425ea807842b5534bbc1.png

三、Grafana安装及使用(Windows版)

1. 简介:Grafana是一个可视化面板工具,有非常漂亮的图表展示功能、有齐全的度量仪盘表和图形编辑器。

2. 下载地址:

864f525817374d4a9d3a506133da8860.png

3. 下载后直接解压

87326470019d4b1da95c3cdc5f7b58be.png

4. 运行Grafana,直接双击bin文件夹下的grafana-server.exe,进行运行,然后浏览器输入http://localhost:3000/login(端口号可在conf文件夹sample.ini的文件中修改http_post,去掉前面的分号生效,我们这里不操作修改)   登录账号密码都是:admin

7da3152bb3a54778ab2d9904cf6be033.png

四、Jmeter、InfluxDB、Grafana 三者关联使用

1. 登录Grafana,打开设置,添加数据源

c8ff0dfe378f44ff8ebac26ae2d4964a.png

2. 设置里面,name随便填写,type选择InfluxDB,HTTP选择InfluxDB所在的IP地址和在influxdb.conf中配置的端口,Details中配置我们前面新增的数据库,账号密码都是:admin

b9c311c19d8446d89fe6b48a5d392a3b.png

备注:下面的Min time interval  是Grafana多少时间去InfluxDB读取一次数据,而InfluxDB 5s去获取一次Jmeter得压测数据,建议Min time interval   也改成5s。

3. 点击Save & Test 按钮,出现下面提示表示配置成功

06e63bdac94e4a5d89a7976e9b039908.png

4. 导入图形化模板

官网有很多Jmeter模板供下载:

选择一款人气比较高的一款:

9e61f8a0717745c084a3f4e54b964243.png

点击+ 选择导入,点击Upload .json File 按钮操作导入

bb74e6bfa3d941a1a1c9c21bb753c26a.png

5. Jmeter关联InfluxDB

(1). jmeter添加后端监听器

2256a7fdfe254982b2764c2f7bc7a41f.png

(2). 后端监听器配置的内容:

d60992656384442f850a4378fa31d4f7.png

图中参数的意思:

influxdbUrl:http://localhost:8086 为influxdb所在服务器的IP地址,db=JmeterDb为刚才创建的数据库名称

summaryOnly:true     这里改成true,只存标题,如果要显示接口报错信息详细内容改成false

samplersRegex:.*      正则表达式,支持全部请求方法,可以改成仅支持post或者get方法

application:     可以看作为场景名称,取一个场景名

(3). 运行jmeter请求,可以在Granfan看到实时性能状况了

46f66f44cf0740ee8e12093cba0876cf.png

设置展示多长时间内的监控数据,以及页面多长时间自动刷新

8592f1856ad1405694d12b9887653a25.png

可以自定义模板内容,比如把表头名称改成汉语

805c9db19790480893e347278cbf1bbb.png

54fe048ae3504335b20fc0a3c8acc889.png

转载地址:https://blog.csdn.net/p302519898/article/details/127358189 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Jmeter抗压测试
下一篇:JMeter性能测试流程及性能指标关注点

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月11日 11时21分00秒