【JMeter性能测试框架篇】Win10下搭建JMeter+Influxdb+Grafana可视化性能测试监控平台

一、前言

        平常使用jmeter进行性能测试时,工具自带的监控方式无法清晰直观的查看结果,给我们性能测试带来很多不便。因此我们需要搭建一个可视化性能测试监控平台来实时监控性能测试结果,这里我们采用JMeter+Influxdb+Grafana开源免费框架来实现。

二、实现原理

通过influxdb数据库存储jmeter运行的结果,再通过grafana服务器采集influxdb数据库存储的测试数据,同时通过grafana dashboard展示测试运行结果,完成对jmeter测试结果的平台监控。

三、框架搭建

1. 版本声明

组件名称版本说明
服务器win10 64位
Apache jmeter5.6.3
JDK1.8
InfluxDB1.7.9
Grafana11.3.1

2. InfluxDB下载和安装

官网链接:https://portal.influxdata.com/downloads#influxdb

Windows可使用以下链接直接下载
​​​​​​https://dl.influxdata.com/influxdb/releases/influxdb-1.7.9_windows_amd64.zip

我这里直接下载的1.7.9的版本,没有用V2版本,老版本相对来说比较稳定。而且V2版本当中没有influx.exe客户端文件,需要下载类似于InfluxDBStudio软件来操作数据库。老版本自带influx.exe客户端文件,可以cmd窗口直接打开进行SQL命令输入等操作。

下载完成后进行解压,以Windows为例:
①.进入文件夹可看到以下目录下载完成后进行解压,以Windows为例:

②.点击 influxd.exe启动数据库,启动成功如下图所示:

3. Grafana下载和安装

首先进入grafana官网下载安装包
Download Grafana | Grafana Labs

选择对应系统后下载,以Windows为例:
①.解压完成后进入bin目录点击grafana-server.exe 来启动 Grafana 程序

②.启动完成后打开浏览器输入http://localhost:3000 进入 Grafana 登录页面,默认用户名和密码都为admin

③.进入首页后点击添加数据库

选择 Influxdb 数据库

填写以下信息即可
 

点击 Sava&test,显示 data source is working 表示数据库连接成功

④.导入仪表盘import dashboard(注:JMeter:5496    Telegraf:5955)
 


 


 

添加完成后效果如下:
 


 


可以到 Grafana 官网 (https://grafana.com/grafana/dashboards)寻找模板,在导入模板处输入需要模板的Downlosds编号即可

4. JMeter配置

①. JMeter 中,导入测试脚本后,在线程组当中添加“监听器 -> 后端监听器”

②.配置后端监听器

5. 运行效果

四、避坑秘籍

在搭建Jmeter+influxdb+grafana框架过程中踩了下面几个坑,放在这里提醒大家注意哈:

1. jmeter配置代理服务器

        主要是由于我司连接外网都需要经过代理服务器,如果大家公司没有用代理服务器,那此处可忽略,不需要关注哈

解决方案:在安装的jmeter/bin目录下新建一个文件jmeterWithProxy.bat,打开输入如下命令保存

命令:jmeter.bat -H 代理服务器域名 -P 8080 -u 用户名 -a 密码

第一次运行jmeter脚本发送京东商城登录请求时,发现一直连接超时,公司代理服务器搞的鬼,后来通过抓包解决。

2. Influxdb未新建jmeter数据库

刚开始一步步下载安装以及打开grafana服务器,结果发现没有数据在dashboard显示。这个折腾了好久,刚开始以为grafana服务器连接后会自动创建数据库,因为在服务器上面有配置数据库名称jmeter,这里我自己以为了,结果可想而知咯。

解决方案:在cmd 窗口进入到启动influxdb-1.7.9-1\influx.exe下面,  启动数据库客户端并输入如下命令就行(记得最后加上分号运行)

create database jmeter;

3. 未修改influxdb.conf文件

influxdb.conf这个文件很重要,influxd.exe服务器第一次启动之后会生成如下几个文件,后面我们会把jmeter产生的报告存储到该路径的数据库里面,所以要提前做好配置,默认配置应该是linux的路径,这个坑整死人,挣扎了好久才搞清楚。

解决方案:

① 修改 influxdb.conf 本地配置文件(修改数据存储路径)

② 修改完成后点击 influxd.exe(使用配置文件启动,需切换到该目录,执行 influxd --config influxdb.conf )再次启动数据库

最后在这里啰嗦几句,整理文档不易,一个多月整理了二十多份文档,以前总感觉知识太零散,我也从这次复习总结当中学习了更多。大家可以多留言交流,或者文档中有错误请帮忙指正。“三人行,必有我师焉”,希望有更多同行人一起加入学习,升职加薪,不枉我日夜加班整理文档共享给大家,分享万岁,同行万岁!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/479479.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt桌面应用开发 第八天(综合项目一 飞翔的鸟)

目录 1.鸟类创建 2.鸟动画实现 3.鼠标拖拽 4.自动移动 5.右键菜单 6.窗口透明化 项目需求: 实现思路: 创建项目导入资源鸟类创建鸟动画实现鼠标拖拽实现自动移动右键菜单窗口透明化 1.鸟类创建 ①鸟类中包含鸟图片、鸟图片的最小值下标和最大值…

【Linux庖丁解牛】—软件安装vim!

目录 1、Linux中的软件安装 a、源码安装 b、软件包安装——rpm c、包管理器安装 包管理器的使用演示(Ubuntu) 2、Linux编辑器——vim 2.1 vim的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 3、vim编辑器环境的一…

【数据结构与算法】排序算法总结:冒泡 / 快排 / 直接插入 / 希尔 / 简单选择 / 堆排序 / 归并排序

1 排序 1.1 冒泡 内排序的交换排序类别 1.1.1 普通实现 public class BubbleSort {/*** 基本的 冒泡排序*/public static void bubbleSort(int[] srcArray) {int i,j; // 用于存放数组下标int temp 0; // 用于交换数值时临时存放值for(i0;i<srcArray.length-1;i){// j …

如何构建SAAS项目

在后台使用JDBC方式动态创建用户输入的数据库信息&#xff08;库名、地址、用户名、密码&#xff09; 执行预先写好的sql文件&#xff08;如mybatis的scriptRunner)执行建表语句及插入基础数据&#xff08;管理员用户、普通用户&#xff09;

MQ高级2:MQ的可靠性

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…

transformer学习笔记-神经网络原理

在深度学习领域&#xff0c;transformer可以说是在传统的神经网络的基础上发展而来&#xff0c;着重解决传统神经网络长距离关联、顺序处理、模型表达能力等问题。 在学习transformer之前&#xff0c;我想&#xff0c;有必要先对传统的神经网络做简要的了解。 一、神经网络基本…

【前端】JavaScript中的字面量概念与应用详解

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;字面量1. 数字字面量2. 字符串字面量3. 布尔字面量4. 空值字面量&#xff08;null&#xff09;5. 对象字面量6. 数组字面量7. 正则表达式字面量8. 特殊值字面量9. 函数字…

字节跳动青训营刷题笔记19

问题描述 小R正在组织一个比赛&#xff0c;比赛中有 n 支队伍参赛。比赛遵循以下独特的赛制&#xff1a; 如果当前队伍数为 偶数&#xff0c;那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛&#xff0c;且产生 n / 2 支队伍进入下一轮。如果当前队伍数为 奇数&…

Python中的简单爬虫

文章目录 一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务器和浏览器的通讯流程3. 浏览器访问Web服务器的通讯流程4. 加载图片资源代码 二. 基于Web请求的FastAPI通用配置1. 目前Web服务器存在问题2. 基于Web请求的FastAPI通用配置 三. Python爬虫介绍1. 什…

【ArcGISPro】使用AI提取要素-土地分类(sentinel2)

Sentinel2数据处理 【ArcGISPro】Sentinel-2数据处理-CSDN博客 土地覆盖类型分类 处理结果

WinForm 的Combox下拉框 在FlatStyle.Flat的边框设置

现象&#xff1a;Combox在设置FlatStyle.Flat时边框不见了 效果&#xff1a; 解决问题思路封装新控件&#xff1a; public class DBorderComboBox : ComboBox {private const int WM_PAINT 0xF;[Browsable(true)][Category("Appearance")][Description("边框…

Python 爬虫入门教程:从零构建你的第一个网络爬虫

网络爬虫是一种自动化程序&#xff0c;用于从网站抓取数据。Python 凭借其丰富的库和简单的语法&#xff0c;是构建网络爬虫的理想语言。本文将带你从零开始学习 Python 爬虫的基本知识&#xff0c;并实现一个简单的爬虫项目。 1. 什么是网络爬虫&#xff1f; 网络爬虫&#x…

使用UE5.5的Animator Kit变形器

UE5.5版本更新了AnimatorKit内置插件&#xff0c;其中包含了一些内置变形器&#xff0c;可以辅助我们的动画制作。 操作步骤 首先打开UE5.5&#xff0c;新建第三人称模板场景以便测试&#xff0c;并开启AnimatorKit组件。 新建Sequence&#xff0c;放入测试角色 点击角色右…

Uniapp 安装安卓、IOS模拟器并调试

一、安装Android模拟器并调试 1. 下载并安装 Android Studio 首先下载 Mac 环境下的 Android Studio 的安装包&#xff0c;为dmg 格式。 下载完将Android Studio 向右拖拽到Applications中&#xff0c;接下来等待安装完成就OK啦&#xff01; 打开过程界面如下图所示&#xf…

shell(5)字符串运算符和逻辑运算符

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…

【金蝶双线指标】以看资金进出操作为主,兼顾波段跟踪和短线低吸

如上图&#xff0c;个股副图指标&#xff0c;大佬资金监控短线低吸攻击线操盘线趋势红蝴蝶&#xff0c;五大功能于一体。下面慢慢给大家仔细分享。 大佬资金监控指标&#xff0c;红绿进出&#xff0c;绿色缩小到极致&#xff0c;接近零轴&#xff0c;红绿柱分界线&#xff0c;为…

多输入多输出 | Matlab实现TCN-GRU时间卷积神经网络结合门控循环单元多输入多输出预测

多输入多输出 | Matlab实现TCN-GRU时间卷积神经网络结合门控循环单元多输入多输出预测 目录 多输入多输出 | Matlab实现TCN-GRU时间卷积神经网络结合门控循环单元多输入多输出预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 多输入多输出 | Matlab实现TCN-GRU时间卷积…

HCIA笔记4--VLAN划分

1. vlan是什么 vlan: virtual lan; 虚拟局域网的简称。 主要目的是隔离广播域。 2. vlan报文格式 在普通的以太网数据帧开关的12字节后添加4字节的vlan tag。而来区分vlan的是其中的vid部分12个比特位&#xff0c;范围自然就是0~2^12-1(0~4095); 0 4095保留使用。实际使用的是…

蓝牙定位的MATLAB仿真程序|基于信号强度的定位,平面、四个蓝牙基站(附源代码)

这段代码通过RSSI信号强度实现了蓝牙定位&#xff0c;展示了如何使用锚点位置和测量的信号强度来估计未知点的位置。它涵盖了信号衰减模型、距离计算和最小二乘法估计等基本概念。通过图形化输出&#xff0c;用户可以直观地看到真实位置与估计位置的关系。 文章目录 蓝牙定位原…

基于Springboot企业级工位管理系统【附源码】

基于Springboot企业级工位管理系统 效果如下&#xff1a; 系统登录页面 员工主页面 部门信息页面 员工管理页面 部门信息管理页面 工位信息管理页面 工位分配管理页面 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所。…