jmeter --- 基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
转自:https://blog.csdn.net/RickyOne_RR/article/details/50637839
本文主要讲述如何利用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非常漂亮的实时监控图表展示

jmeter --- 基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示的更多相关文章
- 【jmeter】基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...
- 转:基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...
- Jmeter实时性能测试数据的监控
Jmetet实时性能测试数据的监控和展示Jmeter Grafana InfluxDB 安装Grafana配置jmeter安装InfluxDB配置Grafana展示数据一安装InfluxDB 为了方便 ...
- .Net Core 2.*+ InfluxDB+Grafana+App Metrics实时性能监控
前言 .net core 2.* 实施性能监控 这个工具其实给运维 大大们用起来是更爽的.但是Grafana现在还没有找到中文版. 本文需要了解的相关技术与内容: InfluxDb(分布式时序数据库, ...
- window平台基于influxdb + grafana + jmeter 搭建性能测试实时监控平台
一.influxdb 安装与配置 1.1 influxdb下载并安装 官网无需翻墙,但是下载跳出的界面需要翻墙,我这里提供下载链接:https://dl.influxdata.com/influxdb ...
- 搭建jmeter+influxdb+grafana压测实时监控平台(超详细,小白适用)
1.前言 在使用jmeter做性能测试的时候,监控系统性能的时候,无论是使用插件还是报告生成,都没法实现实时监控.使用JMeter+Influxdb+Grafana可以实现实时监控. 本次环境搭建各软 ...
- Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
- 转:JMeter整合InfluxDB,Grafana让测试结果实时显示
软件版本: apache-jmeter-2.13.tgz grafana-2.1.1-1.x86_64.rpm influxdb-0.8.8-1.x86_64.rpm 虽然官方不在支持influxdb ...
- 基于 Njmon + InfluxDB + Grafana 实现性能指标实时可视监控
引言 最近逛 nmon 官网时,发现了一个新工具 njmon,功能与 nmon 类似,但输出为 JSON 格式,可以用于服务器性能统计. 可以使用 njmon 来向 InfluxDB 存储服务器性能统 ...
随机推荐
- [leetcode]Binary Tree Maximum Path Sum @ Python
原题地址:https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/ 题意: Given a binary tree, find th ...
- Android数据展示之ListView
Android应用程序中经常需要使用ListView展示数据,一个ListView通常将数据填充到布局文件中,在填充的过程中需要知道连接数据与ListView的适配器.适配器是一个连接数据和Adapt ...
- 20个代码生成框架 (.NET JAVA)
1.1 CodeSmith 一款人气很旺国外的基于模板的dotnet代码生成器 官方网站:http://www.codesmithtools.com 官方论坛:http://forum.codesmi ...
- Codeforces Round #256 (Div. 2/A)/Codeforces448A_Rewards(水题)
解题报告 意思就是说有n行柜子,放奖杯和奖牌.要求每行柜子要么全是奖杯要么全是奖牌,并且奖杯每行最多5个,奖牌最多10个. 直接把奖杯奖牌各自累加,分别出5和10,向上取整和N比較 #include ...
- RAID5工作原理介绍
RAID 5是一种存储性能.数据安全和存储成本兼顾的存储解决方案.以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:图中,P0为D0,D1和D2的奇偶校验信息,P1为D3,D4,D5的奇偶校 ...
- typescript 的一种引入文件的方式 Triple-Slash Directives
---恢复内容开始--- /// reference 原文: https://www.typescriptlang.org/docs/handbook/triple-slash-directives. ...
- telnet 退出命令
telnet xxx port ctrl + ] telnet > quit ctrl + w 是清除命令 转自: http://wangyifeng.blog.51cto.com/214490 ...
- (算法)构造MaxTree
题目: 给定一个没有重复元素的数组A,定义A上的MaxTree如下:MaxTree的根节点为A中最大的数,根节点的左子树为数组中最大数左边部分的MaxTree,右子树为数组中最大数右边部分的MaxTr ...
- linux cp覆盖每次都有提示
1.cp命令,目标已经存在,每次都提示是否覆盖,怎么办? 2.cp --help 可以看到选项-i的时候,才会提示,但是这里并没有-i,为什么每次都有提示? 3.原因是:这里执行的cp是一个别名,通过 ...
- 成员函数的const究竟修饰的是谁
demo <pre name="code" class="cpp">class Test { public: const void OpVar(in ...