【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非常漂亮的實時監控圖表展示
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM