docker中搭建jmeter测试环境(借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程)
docker中搭建jmeter测试环境
借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程我们都知道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,创建可视化看板,并实时获取到测试指标数据。
安装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"
进入后添加数据库
进入后对数据库进行配置
保存并且测试
配置展示模板
模板比较丰富,可以预览进行查看,选择合适的进行下载
下载地址:https://grafana.com/grafana/dashboards
下载json文件
准备导入
将下载下来的json文件导入之后即可。
设置完成后进入面板
在此可设置刷新频率
配置Jmeter
创建Jmeter脚本。
设置后端监听器
运行脚本后可查看结果
到此这篇关于借助Docker搭建JMeter+Grafana+Influxdb监控平台的文章就介绍到这了,更多相关Docker搭建JMeter+Grafana+Influxdb监控平台内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- docker容器内服务怎么启动(docker部署confluence的完整步骤)
- docker 查看目录映射(docker 文件存放路径, 修改端口映射操作方式)
- docker 各种用法(详解Docker commit的使用)
- docker搭建elasticsearch(docker安装ElasticSearch:7.8.0集群的详细教程)
- docker redis配置文件放哪里(最详细的docker中安装并配置redis图文详解)
- docker-compose 开发代码(Docker Compose多容器部署的实现)
- docker容器编排入门教程(简简单单使用Docker部署Confluence)
- docker安装mysql后无法连接(Docker 安装 MySQL 并实现远程连接教程)
- docker部署mysql并且自动启动(Docker 部署 Mysql8.0的方法示例)
- docker查看镜像详细内容(Docker镜像分析工具dive原理解析)
- docker容器运行环境(Docker 清理环境操作)
- 阿里云docker 基础镜像(Docker 配置阿里云容器服务操作)
- jenkins回滚docker容器(关于docker部署的jenkins跑git上的程序的问题)
- docker-compose项目部署(使用Docker Compose部快速署ELK亲测有效)
- docker配置和管理(Docker 容器监控原理及 cAdvisor的安装与使用说明)
- dockerspringboot一键部署(docker-compose镜像发布springboot项目的流程分析)
- 红色代表什么(红色代表什么意义和象征)
- 菲律宾安全吗(菲律宾安全吗2023)
- 彩礼重要吗()
- 写信告诉我今天海是什么颜色(写信告诉我今天海是什么颜色回答)
- 英语难学吗(法语比英语难学吗)
- 今天要吃什么(今天要吃什么菜好)
热门推荐
- python3.8爬虫需要的包(python爬取基于m3u8协议的ts文件并合并)
- js验证身份证号
- nginx和lua哪个好(nginx+lua单机上万并发的实现)
- python numpy矩阵详解(基于Numpy.convolve使用Python实现滑动平均滤波的思路详解)
- 别让用户发呆,提升网站用户体验
- css3中的过渡属性的几种方法(基于CSS3实现的几个小loading效果)
- mysql常见错误分析(分析MySQL抛出异常的几种常见解决方式)
- sql查询优化最快的方法(必备 SQL 查询优化技巧提升网站访问速度)
- python3 怎么查看函数用法(Python3 max函数基础用法)
- css position详解(深究CSS定位position的常用技法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9