• 【jmeter】基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示


    本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据

     

    关于JMeter实时测试数据

    JMeter从2.11版本开始,命令行模式下执行测试的时候会有summary的实时结果输出:

    在进行长时间的测试后,这个信息会越来越多,而且这些数据在测试完成之后进行读取和分析也很不直观,如果能有一个实时的图形结果来展示这些测试数据(不用等到测试完成后在JMeter里面创建图形查看),对执行测试的测试人员来说,这样的实时图形(对整个测试过程的性能数据监控)定会提供强大的帮助和数据支持。

    JMeter 2.13版本刚好提供了这样的功能,只需要在脚本中加入监听器【Backend Listener】即可。

    Backend Listener

    该监听器可将测试过程中实时结果数据写到时序DB(InfluxDB,graphite等),本文以InfluxDB为例来保存数据,该监听器配置如下:

    具体的参数配置和说明可见JMeter官网

    InfluxDB&Grafana

    InfluxDB:存储实时数据的DB,安装和配置都很easy,具体可以参考InfluxDB documentation.
    Grafana:DB中存储的实时数据可以在浏览器(通过Grafana或Influga)查看,本文中以Grafana为例来说明如何进行图表实时展示,关于Grafana的安装和配置,可参考Grafana Docs
     

    如何实现

    1.前提条件

    • JMeter版本2.13或以上
    • InfluxDB和Grafana已安装,并且相应服务已启动(本文所使用系统为CentOS 6.5)

    2.InfluxDB配置

    • 进入InfluxDB管理页面:http://<ip of InfluxDB>:8083
    • 新建DB:CREATE DATABASE jmeter
    • 修改配置文件:/etc/influxdb/influxdb.conf
    • 重启InfluxDB服务:service influxdb restart

    3.JMeter数据写入InfluxDB

    • 脚本里添加监听器:Backend Listener
    • 配置graphiteHost,graphitePort:<ip of InfluxDB>,2003
    • 执行测试
    • 此时查看InfluxDB数据:

    4.Grafana展示InfluxDB数据

    • 新增Data Source,DB指向步骤2中新建的DB:jmeter
    • 新增点击”Test Connection“确保连接到InfluxDB已经ok。
    • 至此,JMeter数据写入InfluxDB,通过Grafana前端展示的整个过程已配置成功,接下来,就可以在Grafana上施展拳脚,自定义自己想要的图形展示了(具体的图形配置和如何展示,可以参考Grafana的官方文档
     

    总结

    使用Backend Listener这个插件,可以不用等待整个测试执行完成之后才来查看测试结果和数据,在整个测试过程中,数据可以实时输出并以动态图表的形式在前端展示,极大方便了性能测试人员对实时性能测试数据的监控,加上Grafana强大的图表展示,每个测试人员都可以搭建出自己喜欢的图形化页面,并实时与其他人员共享,完成对整个性能测试过程中的实时数据监控。
     
    附:Grafana非常漂亮的实时监控图表展示
     
  • 相关阅读:
    树形地铁系统[树的最小表示]
    156. 矩阵[二维的hash]
    兔子与兔子
    滑动窗口【单调队列入门题】
    【YBTOJ】生日相同
    【YBTOJ】移位包含
    【YBTOJ】【HDUOJ 3085】逃离噩梦
    【YBTOJ】立体推箱子
    【CodeForces 1408F】Two Different
    【Luogu P3338】[ZJOI2014]力
  • 原文地址:https://www.cnblogs.com/paulwinflo/p/5680311.html
Copyright © 2020-2023  润新知