性能技术分享|Jmeter+InfluxDB+Grafana搭建性能平台(四)

这篇具有很好参考价值的文章主要介绍了性能技术分享|Jmeter+InfluxDB+Grafana搭建性能平台(四)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

四、Jmeter配置InfluxDB

4.1 后端监听器(BackendListener)介绍

1、什么是后端监听器(BackendListener)?

源码给出的解释是:BackendListener是一种异步监听并获取到测试结果的实现类。

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

也就是说发出的如http等响应请求的结果,都会被封装在SampleResult对象中并被其监听接收。

源码如下:

/**

* Async Listener that delegates SampleResult handling to implementations of {@link BackendListenerClient}

*

* @since 2.13

*/

public class BackendListener

extends AbstractTestElement

implements Backend, Serializable, SampleListener, TestStateListener, NoThreadClone, Remoteable {

}

2、为什么BackendListener能接收SampleResult?

由于BackendListener实现了SampleListener接口,而SampleListener在JMeterThread类中被使用到。

3、BackendListener的作用是?

由于它是异步接收压测元数据的,会将测试结果的元数据传给BackendListenerClient,后面的核心都是BackendListenerClient。

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

4、BackendListenerClient是什么?

BackendListenerClient是一个接口类,通过抽象类AbstractBackendListenerClient来扩展其功能,我们要获取到测试元数据都要通过继承AbstractBackendListenerClient来实现,包括JMeter原生自带的influxdb、graphite都是通过继承AbstractBackendListenerClient来获取元数据的。

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

继承AbstractBackendListenerClient需要实现三种方法,如下:

public interface BackendListenerClient {

//开启多线程执行压测之前,传入线程上下文,进行前置处理

void setupTest(BackendListenerContext context) throws Exception; // NOSONAR

//多线程压测过程中获取到测试结果集,传入当前方法进行处理

void handleSampleResults(List<SampleResult> sampleResults, BackendListenerContext context);

//多线程压测结束之后进行一个后置处理

void teardownTest(BackendListenerContext context) throws Exception;

4.2 配置后端监听器

1、启动Jmeter,添加后端监听器(BackendListener)

步骤: 线程组右击→添加→监听器→后端监听器

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档
backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

后端监听器添加后,默认页面。

2、选择后端监听器实现类型

因为我们数据库是InfluxDB,所以这里选择:

  org.apache.jmeter.visualizers.backend.influxdb.InfluxbdBackendListenerClinet

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

3、修改配置项内容:

在这个项目中,我修改以下几项内容,其余想默认,

① influxdbUrl:http://localhost:8086/write?db=jmeterMC;

② Application:MC

③Measurement:jmeter

关于配置项的解析,如下:

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

到这里,后端监听器就配置完成了,当然,你在线程组中的信息,也需要正确配置,否则,数据是无法入库的。

这里,我们就压测数据,看看能否进入到InfluxDB数据库中。

在InfluxDB窗口,执行查询语句“select * from jmeter”,看到如下数据,就说明数据已经进入到InfluxDB了。

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

看到这里,就说明Jmeter执行的数据,已经进入到InfluxDB中了。

那如何在Grafana中展示呢?

因为第三节,已经在Grafana中配置了InfluxDB的数据源,所以,我们只需要在Grafana中查询到InfluxDB数据即可。

五、Grafana获取InfluxDB的数据进行展示

5.1 Dashboard配置项选择

①如果你有多个项目,需要在General/home ,选择项目:

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

②如果你一个项目中有多个接口,那也需要选择接口:

data_source:选择设置的数据库名

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

application:应用名/接口名

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

时间默认5分钟, 由于我们压测都需要半个小时以上,所以可以设置now-35m至now

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

5.2 Dashboard数据展示

Dashboard的展示,这里也是用上面的压测脚本数据展示,

按照5.2的操作步骤,配置完以后,在Dashboard展示的数据,如下:

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

这里需要注意:

1、Dashboard展示的是实时数据;

2、如果InfluxDB中没有数据,则Grafana中的Dashboard数据就展示0。

backend listener,单元测试,软件测试,测试工具,压力测试,python,Powered by 金山文档

六、总结

到这里, Jmeter+InfluxDB+Grafana轻量级性能监控平台就搭建完成了。

回顾全篇,我详细介绍了:

①InfluxDB的特点,应用场景、常规操作命令语句;

②Grafana的安装,数据源的配置,数据源的展示;

③BackendListener的应用,项目名解析以及配置;

④整个流程通过Jmeter脚本执行后,数据源在Grafana的Dashboard展示;

目的是为了,让你知道其实搭建性能监控平台并不是那么困难,

也希望你能在实际的项目中,不仅仅只会执行性能测试脚本,而是进阶到更高的level。

当然,会搭建性能监控平台,也仅仅是作为性能测试工程师成长必备的一个阶段,

而要想达到更高级别,那需要的不仅仅是时间的沉淀,项目的洗礼,更需要对性能工程的理解与实战。

最后:

可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。

这些测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!文章来源地址https://www.toymoban.com/news/detail-782435.html

到了这里,关于性能技术分享|Jmeter+InfluxDB+Grafana搭建性能平台(四)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

    在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率。 但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试,而且它自带的监视器效果实在一般:在Windows下渲染效果不好

    2024年02月14日
    浏览(34)
  • 高效性能监测解决方案:Docker+Jmeter+InfluxDB+Grafana搭建强大性能监测平台,文末获取实用干货大礼包!

    为什么要搭建性能监控平台? 1.1 需求背景 在用 Jmeter 获取性能测试结果的时候, Jmeter 本身带有聚合报告如下图所示: 这个报告有几个很明显的缺点: 只能自己看,无法实时共享; 报告信息的展示比较简陋单一,不直观; 1.2 需求方案 为了解决上述问题,必须要请出了 I

    2024年02月02日
    浏览(26)
  • 轻松打造智能化性能测试监控平台:【JMeter+Grafana+Influxdb】的优化整合方案

    目录 【引言】 【背景说明】 【实现原理】 【平台搭建】 方法一:Windows或macOS环境下搭建 1.InfluxDB安装 2.grafana安装 3.jmeter配置 方法二:Linux环境下搭建 1.influxdb安装 2.grafana安装 3.jdk+jmeter安装 方法三:docker容器下安装 1.influxdb安装并运行(选择2.0以下版本) 2.grafana安装并运行

    2024年02月06日
    浏览(35)
  • Jmeter+Influxdb+Grafana搭建

    在无界面压测情况下,我们需要去额外搭建可视化观测平台。借助于Influxdb+Grafana,我们可以轻松让Jmeter的结果自动写入Influxdb,Influxdb实时存储运行结果,最后由Grafana作为展示 无界面运行需要修改配置(jmeter.properties) jmeter.save.saveservice.response_data=true jmeter.save.saveservice.outp

    2024年03月09日
    浏览(52)
  • 性能监控平台 | Prometheus+InfluxDB + Grafana!

    在本文中,我将把几个常用的监控部分给梳理一下。前面我们提到过,在性能监控图谱中,有操作系统、应用服务器、中间件、队列、缓存、数据库、网络、前端、负载均衡、Web 服务器、存储、代码等很多需要监控的点。显然这些监控点不能在一个专栏中全部覆盖并一一细化

    2024年02月13日
    浏览(57)
  • 性能监控平台:基于 Prometheus+InfluxDB + Grafana|果断收藏

    在本文中,我将把几个常用的监控部分给梳理一下。前面我们提到过,在性能监控图谱中,有操作系统、应用服务器、中间件、队列、缓存、数据库、网络、前端、负载均衡、Web 服务器、存储、代码等很多需要监控的点。显然这些监控点不能在一个专栏中全部覆盖并一一细化

    2024年02月07日
    浏览(31)
  • Docker-Compose 轻松搭建 Grafana+InfluxDb 实用 Jmeter 监控面板

    目录 前言: 1、背景 2、Granfana+InfluxDB 配置 2.1 服务搭建 2.2 配置 Grafana 数据源 2.3 配置 Grafana 面板 3、Jmeter 配置 3.1 配置 InfluxDB 监听器 3.2 实际效果 Grafana 和 InfluxDB 是两个非常流行的监控工具,它们可以帮助开发者对系统的性能和可用性进行实时监控。 前几天刚做了一个在

    2024年02月16日
    浏览(37)
  • 解决JMeter+Grafana+influxdb 配置出现transaction无数据情形

            JMeter+Grafana+influxdb 配置时,Darren洋发现jmeter中明明已经配置好了事务条件以及接口实例信息,但就是在grafana的头部导航栏中的transaction按钮下来没有相应事务数据信息,经过相关资料查询,Darren洋发现执行以下两个步骤即可解决该问题。         第一步我们在仪

    2024年02月16日
    浏览(28)
  • 【七】jmeter5.5+influxdb2.0+prometheus+grafana

    参考文章:https://blog.csdn.net/wenxingchen/article/details/126892890 https://blog.csdn.net/Zuo19960127/article/details/119726652 https://blog.csdn.net/shnu_cdk/article/details/132182858 promethus参考 由于自己下载的是infuldb2.0,所以按照上面两个步骤走不通,做了如下修改,前提 目前jmeter5.6.3还不支持,但是至少要

    2024年04月27日
    浏览(21)
  • 教你搭建一个Telegraf+Influxdb+Grafana 监控系统

    摘要: 本文利用华为HECS云服务器进行监控系统部署。 本文分享自华为云社区《使用华为HECS云服务器打造Telegraf+Influxdb+Grafana 监控系统【华为云至简致远】》,作者: kaliarch 。 在所有现有的现代监控工具中,TIG(Telegraf、InfluxDB和Grafana)可能是最受欢迎的工具之一。 该堆栈可

    2023年04月27日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包