jmeter腳本運行結果實時監控


一、背景

我們很多時候在使用JMeter做性能測試,我們很難及時察看壓測過程中應用的性能狀況,總是需要等到測試完成后去看Report

二、解決方案

JMeter引入Backend Listener,用於在壓測過程中實時發送統計指標數據給時序數據庫Influxdb,通過配置Grafana(開源的WEB可視化看板)數據源連接到Influxdb,我們就可以實時獲取到測試指標數據。

三、工具安裝部署

influxdb

  1. 下載與安裝 

    #184機器是ubuntu系統所以采用的是deb的包安裝方式
    #wget https://dl.influxdata.com/influxdb/releases/influxdb_1.6.2_amd64.deb
    #sudo dpkg -i influxdb_1.6.2_amd64.deb

     

  2. 修改配置 

     1 #Jmeter使用graphite協議去寫入數據到InfluxDB,因此,需要在InfluxDB配置文件啟用它,如下
     2 vi /etc/influxdb/influxdb.conf
     3  
     4 #修改以下配置
     5 [[graphite]]
     6  enabled = true
     7  bind-address = ":2003"
     8  database = "jmeter"
     9  retention-policy = ""
    10  protocol = "tcp"
    11  batch-size = 5000
    12  batch-pending = 10
    13  batch-timeout = "1s"
    14  consistency-level = "one"
    15  separator = "."
    16  udp-read-buffer = 0

     

  3. 設置環境變量

    1 vi ~/.bashrc
    2  
    3 #增加環境變量配置
    4 export INFLUXDB_CONFIG_PATH="/etc/influxdb/influxdb.conf"

     

  4. 啟動influxdb服務

    1 #以服務模式啟動 | 這種方式啟動還不行,得需要再看下
    2 service influxdb start
    3  
    4  
    5 #以非服務模式啟動
    6 influxd -config /etc/influxdb/influxdb.conf

     

  5. 初始化db數據

     1 root@qa_debug_srv01:~# influx  #登錄數據庫
     2 Connected to http://localhost:8086 version 1.6.2
     3 InfluxDB shell version: 1.6.2
     4 > show databases  #查看所有數據庫
     5 name: databases
     6 name
     7 ----
     8 _internal
     9 > CREATE DATABASE "jmeter" #創建數據庫
    10 > use jmeter               #切換數據庫
    11 Using database jmeter
    12 > CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES # 創建管理員權限的用戶

     

  6. 端口說明

    • 8086端口,Grafana用來從數據庫取數據的端口
    • 2003端口,JMeter往數據庫發數據的端口
  7. 其他說明

    因influxdb1.2版本以后均沒有了web界面,web界面操作頻率很低,故沒有再去找web界面解決方法

graphna

  1. 安裝與啟動

    wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.5.2_amd64.deb
    sudo dpkg -i grafana_4.5.2_amd64.deb
     
     
    #啟動
    sudo service grafana-server start
    

      

四、訪問地址

http://10.1.9.184:3001/login用戶名:admin
密碼:ganlezheyibei

五、jmeter配置

線程中添加一個監聽器 Backend Listener

parameter配置

influxdbMetricsSender org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender
influxdbUrl http://10.1.9.184:8086/write?db=jmeter
application mtl_orderGivenShow
measurement jmeter
summaryOnly false
samplersRegex ^[^#_].*
percentiles 50;90;95;99
testTitle mtl_orderGivenShow

application和testTitle可以自己命名,針對於在grafna上找到對應的名稱查看結果

六、操作方法

    1. jmeter  Backend Listener 的 parameter 配置中,配置好自己的application名稱,運行壓測
    2. 登錄graphna進入默認的dashboard

    3. 選擇你設置的application名稱則就可以看到實時的jmeter運行結果

    4. 結果示例:


免責聲明!

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



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