jmeter执行为什么查看结果树里没数据_借助Docker搭建JMeter+Grafana+Influxdb监控平台...

使用Docker搭建JMeter+Grafana+Influxdb性能监控平台
本文介绍了如何利用Docker部署InfluxDB和Grafana,结合JMeter的Backend Listener,实现性能测试结果的实时监控和可视化。在JMeter非GUI模式下运行测试,通过InfluxDB存储数据,Grafana提供仪表板展示,提高测试效率。

我们都知道Jmeter提供了原生的结果查看,既然有原生的查看结果,为什么还要多此一举使用其他工具进行查看呢,除了查看内容丰富外还有最主要的原因:
Jmeter提供的查看结果插件本身是比较消耗性能的,所以在正式压测中应当禁用。但是我们又需要在脚本运行时实时查看结果,这时就需要借助外在工具实现。
除此之外,在真实压测过程中还需要注意Jmeter图形化模式只适合调试使用,不要进行压测。图形化的压测方式会消耗较多的客户端性能,在压测过程中容易因为客户端问题导致内存溢出。官方也给出了提示通过命令行执行。执行命令:

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
  • -n 表示在非 GUI 模式下运行 JMeter;
  • -t 表示要运行的 JMeter 测试脚本文件,一般是 jmx 结尾的文件;
  • -l 表示记录结果的文件,默认以 jtl 结尾;
  • -e 表示测试完成后生成测试报表;
  • -o 表示指定的生成结果文件夹位置。

实现原理
接下来详解借助 docker 使用 InfluxDB 和 Grafana 搭建性能可视化监控平台。InfluxDB概念:InfluxDB是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。InfluxDB概念特点

  • 无结构(无模式):可以是任意数量的列;
  • 可以设置metric的保存时间;
  • 支持与时间有关的相关函数(如min、max、sum、count、mean、median等),方便统计;
  • 支持存储策略:可以用于数据的删改。(influxDB没有提供数据的删除与修改方法);
  • 支持连续查询:是数据库中自动定时启动的一组语句,和存储策略搭配可以降低InfluxDB的系统占用量;
  • 原生的HTTP支持,内置HTTP API;
  • 支持类似sql语法;
  • 支持设置数据在集群中的副本数;
  • 支持定期采样数据,写入另外的measurement,方便分粒度存储数据。

Grafana概念:一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。


JMeter引入Backend Listener将在压测过程中实时发送统计指标数据发送到Influxdb数据库,Grafana(开源的WEB可视化看板)数据源连接到Influxdb,创建可视化看板,并实时获取到测试指标数据。

dec16701fff4a595c73ee1097b41f8e4.png

安装InfluxDB
docker 下进行安装
拉取influxdb镜像:docker pull influxdb
运行influxdb容器:docker run --name my_influxdb -p 8086:8086 influxdb
进入容器:docker exec -it 容器id /bin/bash
创建数据库 jmeter

influx
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;

安装Grafana
拉取grafana镜像:docker pull grafana/grafana
运行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana
访问grafana:http://ip:3000用户名与密码都是"admin"

d4875a0e5a7f9361afb42d6a630ffd86.png

3d65b4bfc0de7b7746ad9c05285e9a6d.png


进入后添加数据库

d4bc2cd0b8345592a1bedf6e91b3e6f4.png

a08bf6fe4b4c1d44424684ff9b2ad6a3.png


进入后对数据库进行配置

0668e085b62370c2984973b457b2837f.png


保存并且测试

94b0fecdb400f2d2ff6f1eb1688ade45.png

配置展示模板
模板比较丰富,可以预览进行查看,选择合适的进行下载
下载地址:https://grafana.com/grafana/dashboards

2bfa11292e7b594a776b727cfe782ee9.png


下载json文件

c92dbbc0108e1d36f4b6e0bd17090938.png


准备导入

223bf1fa2ba975d7e6429bc993bb23b5.png


将下载下来的json文件导入之后即可。

9522a80f23557848bfb3e6653dfcfe57.png


设置完成后进入面板

11e7d2a0bff3aec6be559c765769e69d.png


在此可设置刷新频率

625d5a701f25f8cd98d68e4a9d3c9e5e.png

配置Jmeter
创建Jmeter脚本。

022abfe8b71106a40d67e29ce41ac5f4.png


设置后端监听器

d5c4b465c7800b03286fc5b6fcb14d08.png


运行脚本后可查看结果

b8d90fdf27fa2d528e714645773336ca.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值