JMeter + Grafana + influxdb 性能监控平台

2023-11-16

平台架构
在这里插入图片描述
首先JMeter 异步写入数据到InfluxDB,然后InfluxDB存储数据,Grafana定时从InfluxDB读取数据,将数据在Grafana面板展示出来。

由于同步写入对于性能的影响较大,所以JMeter支持异步写入,因此几乎对测试的性能几乎不大,不过在实际测试工作中,对性能会有一点点影响,如果不往InfluxDB写入数据的情况下,TPS会稍微高一些。
小编是用Docker部署的,下面将详细介绍公司接口做的压测实战

启动docker

systemctl start docker

拉取Influxdb

docker pull influxdb

启动Influxdb

docker run -d -p 8083:8083 -p 8086:8086 --name influxdb_wcy influxdb

进入influxdb容器

在这里插入图片描述

通过客户端进入到influx中

进入cd/usr/bin 输入./influx命令 启动influx

cd /usr/bin
./influx

在这里插入图片描述

创建influxdb数据库

curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"发一个http的请求 去建库。

在这里插入图片描述
打开创建的数据库jmeter
在这里插入图片描述

安装grafana

拉取grafana镜像

docker pull grafana/grafana-oss:latest

启动docker的grafana镜像
第一种方式运行:直接将docker内部的3000端口映射到本机
在这里插入图片描述
第二种方式运行: docker run -d --name=grafana --link=influxdb_wcy:influxdb -p 3000:3000 grafana/grafana:6.6.2 --link

冒号前的第一个是你的influxdb容器的名字也就是influxdb_wcy 冒号后面是随便写的一个名字
但是这个名字要用在下面那串url中的influxdb名字。

进入浏览器http://localhost:3000/,输入账号密码admin admin后,提示更改密码
在这里插入图片描述

配置Jmeter

  • 编写好JMeter脚本
  • 在测试计划中添加 「监听器」–> 「后端监听器」
  • 配置监听器

在这里插入图片描述
参数说明

  • application对应Grafana的application

在这里插入图片描述

  • Measurement对应Grafana中的Measurement name

在这里插入图片描述

  • summaryOnly:设置为true 则grafana不会记录错误信息,设置为 false 才会记录

在这里插入图片描述

  • 进入到 influxdb 中,查看是jmeter数据库是否有数据
  • 我们可以看到数据库中有数据记录了在这里插入图片描述

配置grafana

先在home页,新增一个data source
在这里插入图片描述
然后选择 influxdb
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成之后,点击保存,然后运行jmeter脚本压测,下面这里我监控的是压测搜索接口的TPS数据
在这里插入图片描述下面这里是监控吞吐量、响应时间和erro,想要监控哪方面的数据,就可以从数据库中读取然后展示出来就行了~~
在这里插入图片描述
添加事务控制器
在后端监听器中修改application,用于新建一个检测面板
在这里插入图片描述
添加事务控制器:线程组-> 添加-> 逻辑控制器-> 事务控制器
在这里插入图片描述
将HTTP请求与后端监听器放入事务控制器中
在这里插入图片描述
刷新grafana,application 选择修改后的 host61
在这里插入图片描述
查看事务面板,有数据了
在这里插入图片描述
grafana中的transaction 可以切换事务
在这里插入图片描述

查看InfluxDB数据库

压测数据存到了InfluxDB数据库里面,Grafana显示的就是这里面的数据。
我们先查看前10条数据,很明显已经从influxdb里读取到压测的10条数据了在这里插入图片描述

  • 进入数据库:docker exec -it你的 influxdb名称 /bin/bash
    在这里插入图片描述
  • 查看数据表并查看数据:show measurements

在这里插入图片描述

  • 查看事件:select * from events,与jmeter后端监听器的testTitle一致

在这里插入图片描述

所以,你学废了吗!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JMeter + Grafana + influxdb 性能监控平台 的相关文章

随机推荐

  • Vue3.0 PC端滑块拼图验证,配合后端验证

    Vue3 0 PC端滑块拼图验证 配合后端验证 简介 最近因为产品需要实现一个滑块拼图验证 而且需要配合后端进行验证 不想接入第三方SDK 所以自己手写了一个 主要是配合element plus 实现UI大致框架 背景图片和拼图都是通过后端
  • matlab求解整数规划、0-1规划

    matlab求解整数规划 0 1规划 R2014以前无法求解整数规划 2014之后用bintprog求解0 1规划 线性规划在2016版本中暂时还可用linprog求解 注 代码中标注的pXXXtaskX指的是西安交大采用的第二版数学实验教
  • Chrome浏览器高级参数

    重新启动一个新的Chrome浏览器 Applications Google Chrome app Contents MacOS Google Chrome disable web security user data dir Users s
  • 服务网格实施周期缩短 50%,丽迅物流基于阿里云 ACK 和 ASM 的云原生应用管理实践

    公司介绍 丽迅物流是百丽旗下专注于时尚产业 为企业提供专业物流及供应链解决方案的服务商 其产品服务主要包括城市落地配 仓配一体 干线运输及定制化解决方案 通过自研智能化物流管理平台 全面助力企业合作集约化发展 目前 丽迅物流已在全国拥有 7
  • Cassandra部分参数调优

    优化一 commitlog文件 由于客户端写数据时需要阻塞写commitlog 默认64GB 所以可以把commitlog放在SSD或者较为空闲的盘中 执行一次刷操作成功后 commitlog文件将被删除 commitlog directo
  • servlet传json数据给前端

    重点 1 json数据的发送 后 2 json数据的提取 前 例如 servlet返回从session提取的当前用户信息给前端使用 1 前端不带数据发送axios给后端请求数据 用get axios method get url http
  • 使用Docker compose部署SpringBoot项目

    我们使用Docker的时候 定义Dockerfile文件 然后使用docker build docker run等命令操作容器 对Docker不熟悉的可以前往查看中文文档 Docker文档 然而微服务架构的应用系统一般包含若干个微服务 每个
  • 6.webpack 代码编译工具 的使用 (实现模块化)

    6 1 关于webpack webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具 当 webpack 处理应用程序时 它会在内部从一个或多个入口点构建一个 依赖图 dependency graph 然后将你项目
  • 【剑指offer】面试题8:旋转数组的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾 我们称之为数组的旋转 输入一个非递减排序的数组的一个旋转 输出旋转数组的最小元素 例如数组 3 4 5 1 2 为 1 2 3 4 5 的一个旋转 该数组的最小值为1 NOTE 给出的所
  • 海康威视RSTP摄像头视频数据从内网读取在web用HLS播放

    环境 海康威视录像机DS 7804NB K1 4P Ubuntu16 04 录像机内网地址192 168 100 99 一个摄像头接在4号口 32口以下通道号从33开始 摄像头内网地址 192 168 1 64 服务器内网地址192 168
  • SpringBoot中@Transactional注解不起作用的解决办法

    今天写完Service 想测试一下事务性 看是不是设置的自定义异常都能成功完成数据回滚 于是我写了一个方法 Override public boolean addNewUser UserInfo userInfo try int count
  • 云计算的未来:云原生架构和自动化运维的崭露头角

    文章目录 云原生架构 重新定义应用开发和部署 什么是云原生架构 为什么云原生架构重要 1 弹性和伸缩性 2 故障隔离 3 更快的交付 4 资源利用率 5 多云支持 云原生架构的实践 步骤 1 容器化 步骤 2 微服务 步骤 3 自动化运维
  • java设计模式——抽象工厂模式(Abstract Factory Pattern)

    抽象工厂模式产生的动机 为了更清晰地理解工厂方法模式 需要先引入两个概念 产品等级结构 产品等级结构即产品的继承结构 如一个抽象类是电视机 其子类有海尔电视机 海信电视机 TCL电视机 则抽象电视机与具体品牌的电视机之间构成了一个产品等级结
  • 电脑老是弹出vrvedp_m_VrvEdp_m.exe-应用程序错误。。。这弹窗每天弹个三十多次,烦死了,怎么消除?...

    满意答案 qingk0318 2014 05 06 采纳率 49 等级 8 已帮助 1862人 VrvEdp m exe北信源桌面管理软件想再用此软件又无法删除干净建议下载款unlocker软件小安装会鼠标右键菜单里先找北信源桌面管理软件V
  • SparkSession和sparkSQL

    一 概述 spark 有三大引擎 spark core sparkSQL sparkStreaming spark core 的关键抽象是 SparkContext RDD SparkSQL 的关键抽象是 SparkSession Data
  • javascript设计模式与六大原则

    设计模式的目的 提高代码的重用性 可读性 可靠性 可维护性 六大原则 单一职责原则 理解 不同的类具备不同的职责 各司其职 做系统设计是 如果发现有一个类拥有了两种职责 那么就要问一个问题 可以将这个类分成两个类吗 如果真的有必要 那就分开
  • 渣渣双非秋招以来第一份offer

    一 10月25日投递 boss上进行投递 二 10月27一面 1 在项目当中中如何运用的线程池 2 运用线程池的话可以解决什么问题 3 项目当中那些部分是运用了一些异步的操作 4 项目当中那些部分是运用了一些异步的操作 5 java并发编程
  • 程序员要如何提高数学水平

    I ve been working for the past 15 months on repairing my rusty math skills ever since I read a biography of Johnny von N
  • 2023企业数智化转型的正确打开方式是什么?他这样说(三)

    哈喽 又见面了大家 上两期我们说到了数据在数智化转型中的重要性以及监控在数智化转型中的角色 戳这里 一键回放精彩内容 2023企业数智化转型的正确打开方式是什么 他这样说 一 https mp csdn net mp blog creati
  • JMeter + Grafana + influxdb 性能监控平台

    平台架构 首先JMeter 异步写入数据到InfluxDB 然后InfluxDB存储数据 Grafana定时从InfluxDB读取数据 将数据在Grafana面板展示出来 由于同步写入对于性能的影响较大 所以JMeter支持异步写入 因此几