Jmeter NON-GUI或者GUI 模式下都有很多测试报告,那么我们为什么还要用Jmeter+Infulx+Grafana呢?我觉得最大的亮点就是实施监测图形化界面数据更容易看出当前脚本运行情况。我们来看一下Jmeter自带报告和Jmeter+Infulx+Grafana组合下的优缺点:
Jmeter自带报告
- 不具备实时性
- 报告中的数据是测试时间段内的平均值
- 长相问题
Jmeter+Influx+Grafana
- 实时展示JMeter压测数据
- 数据范围可选
- 界面更友好
性能监控平台组成
- JMeter:压测工具, 产生压测数据
- InfluxDB: 开源时序数据库, 特别适合用于处理和分析资源监控数据,用于存储压测数据
- Grafana:度量分析与可视化图标展示工具,可以支持不用种类的
数据源,用于将存储于InfluxDB中的数据以图表的形式展示出来
部署
部署方法: Docker 部署
influxdb
- 安装Docker
- 下载influxDB镜像:
docker pull influxdb
- 启动 influxDB 容器,将新 influxDB 容器命名为 jmeterdb
docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb influxdb
- 执行如下命令进入容器内部
docker exec -it jmeterdb bash
- 执行
influx
命令进入命令台 - 执行类sql语句 创建jmeter数据库:
create database jmeter;
- 创建完jmeter数据库之后执行如下命令验证数据库已经创建成功:
show databases;
JMeter
在JMeter中添加 Backend Listener 组件,用于收集数据并发送给influxdb
- 在Backend Listener implementation 中选择InfluxdbBackendListenerClient (注意:必须使用jmeter 5.0以上版
本,否则需要单独装插件才可以看到这个组件) - 在influxdbURL中将实际的influxdb hostname填写进去
- 在application中填写 order
- 在testTitle中填写 Order Testing
- 其余配置保持不变
Grafana
- 下载镜像:
docker pull grafana/grafana
- 启动镜像:
docker run -d -p 3000:3000 --name=jmeterGraf grafana/grafana
- 访问 Grafana 的控制台链接,验证它已经运行正常
- 默认用户名/密码:admin / admin,登录之后请跳过修改密码
- 在Grafana中添加数据源,选择 Add data source,找到 InfluxDB,单击选择该DB
- 配置InfluxDB 数据源
- 输入 URL : http://[hostname or IP]:8086
- Access : browser
- Database : jmeter
-
在Grafana 内导入JMeter Dashboard,进入Home Dashboard 页面,选择Import,DB name 选择 InfluxDB
展示
-
运行jmeter脚本
-
去influx下查看数据是否存在
-
去grafana查看
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
转载请注意出处,谢谢合作