本文主要講述如何利用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很是漂亮的實時監控圖表展現