本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展现实时性能测试数据
关于JMeter实时测试数据
JMeter从2.11版本开始,命令行模式下执行测试的时候会有summary的实时结果输出:html

在进行长时间的测试后,这个信息会愈来愈多,并且这些数据在测试完成以后进行读取和分析也很不直观,若是能有一个实时的图形结果来展现这些测试数据(不用等到测试完成后在JMeter里面建立图形查看),对执行测试的测试人员来讲,这样的实时图形(对整个测试过程的性能数据监控)定会提供强大的帮助和数据支持。前端
JMeter 2.13版本恰好提供了这样的功能,只须要在脚本中加入监听器【Backend Listener】便可。apache
Backend Listener
该监听器可将测试过程当中实时结果数据写到时序DB(InfluxDB,graphite等),本文以InfluxDB为例来保存数据,该监听器配置以下:

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


InfluxDB&Grafana
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很是漂亮的实时监控图表展现