工程架構-非功能測試工具-效能測試_Jmeter + Grafana + InfluxDB 效能測試監控(轉)
通過InfluxDB支援HTTP提交,從而實現Jmeter監控的入庫,而對於資源監控可以通過(Curl+awk)Shell來過濾監控命令(iostat,Vmstat等)最後提交至庫的方式來完成監控,同理Zabbix也可以。由於本文長度問題,這裡只記錄了關於Jmeter入庫的部分。
閱讀目錄
1. 安裝InfluxDB
2. 安裝Grafana
3. 配置Jmeter
序章
前幾天在群裡看到大神們在討論Jmeter + InfluxDB + Grafana監控。說起來Jmeter原生的監控確實太醜了。當年不斷安慰自己說“醜一點沒關係,只要能用,好用,就行了!”。但是內心並不是這樣,做為一名測試人員,都有一顆精益求精的心。看到有東西可以替代那原生的監控資料,果斷親自動手部署了一套。
是吧,很帥吧!資料是用InfluxDB來儲存的,展示則是用Grafana來展示的
InfluxDB是一個年輕的時序資料庫,是用同樣很年輕的語言“GO”開發出來的。小資料量的時候還效能還不錯,但是資料量大一點,效能問題就體現出來了。不過只是收集一下我幾個小時測試的資料,還是足夠了。要是幾個月的測試資料那還是挑別的資料庫吧。
Grafana是純粹用js編寫出來的,專門用來展示資料用的。
基本上,就是Jmeter通過“Backend Listener”,將測試的資料上傳到我的虛擬機器上,通過InfluxDB來儲存,Grafana來展示出來。我們訪問web,稍微配置一下,就可以看到展示的資料了。
我的InfluxDB和Grafana都是部署在一臺Linux虛擬機器下面的。
虛擬機器 --- IP 192.168.245.131
1. 安裝InfluxDB
新建InfluxDB下載源
cat << EOF | tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
使用yum下載InfluxDB
yum install -y influxdb
修改InfluxDB的配置,主要配置jmeter儲存的資料庫與埠號,還有需要將UI埠開放
[[email protected] ~]# vi /etc/influxdb/influxdb.conf
# 找到graphite並且修改它的庫與埠
[[graphite]]
enabled = true
database = "jmeter"
bind-address = ":2003"
protocol = "tcp"
consistency-level = "one"
# 找到admin,將前面的#號去掉,開放它的UI埠
[admin]
# Determines whether the admin service is enabled.
enabled = true
# The default bind address used by the admin service.
bind-address = ":8083"
# Whether the admin service should use HTTPS.
# https-enabled = false
# The SSL certificate used when HTTPS is enabled.
# https-certificate = "/etc/ssl/influxdb.pem
啟動InfluxDB
[[email protected] ~]# /etc/init.d/influxdb restart
Stopping influxdb...
influxdb process was stopped [ OK ]
Starting influxdb...
influxdb process was started [ OK ]
開啟瀏覽器,訪問虛擬機器IP“http://192.168.245.131:8083”
如果啟動成功應該會InfluxDB的web ui介面。檢視有沒有jmeter庫,沒有就新建一個。
在輸入框中,輸入如下,來新建庫:
CREATE DATABASE "jmeter"
2. 安裝Grafana
使用yum下載Grafana並且安裝
yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.1-1.x86_64.rpm
啟動Grafana
[[email protected] ~]# /etc/init.d/grafana-server restart
OKopping Grafana Server ... [ OK ]
Starting Grafana Server: .... OK
開啟瀏覽器,訪問虛擬機器IP“http://192.168.245.131:3000”
輸入使用者名稱,密碼登入系統。使用者名稱與密碼都是"admin"
新增需要展示資料的資料庫
新增InfluxDB資料庫配置。輸入帳號密碼“admin / admin”,點選Test & Save 提示“Success”說明成功了
【注意】URL的埠是8086,而剛才配置的8083是UI的埠。
- 8083埠是InfluxDB的UI介面展示的埠
- 8086埠是Grafana用來從資料庫取資料的埠
- 2003埠則是剛剛設定的,Jmeter往資料庫發資料的埠
3. 配置Jmeter
1. jmeter中,新增“監聽器 -> Backend Listener”
2. 配置“Backend Listener”,主要配置Host,如下圖
3. 新增一個Java請求,方便測試。(因為想偷懶,Java請求我什麼都不用寫,直接執行就能成功)
4. 新增“監聽器 -> 檢視結果樹” 執行一下Jmeter,主要看Java請求是否傳送出去了
沒有什麼問題,這個時候訪問InfluxDB“http://192.168.245.131:8083”, 在輸入框中輸入如下,點選回車:
# 可以使用這個,這個是查詢所有表,顯示1條記錄
select * from /.*/ limit 1
# 也可以使用這個,這個是顯示所有表
show measurements
點選回車後,就應該有資料了,會出現下圖:
這個時候再回來配置Grafana,來展示這些資料
新增一個展示專案
點選“Home -> New”
新增一個圖表
點選旁邊的綠點“Add Panel -> Graph”
配置圖表
配置好了,就能看到圖了。如果看不到圖,請用Jmeter多發幾次Java請求。下圖中選擇監控的選項,可以在Jmeter的官網上檢視到對應的解釋。
大致介紹幾種我常用的監控。
名稱 | 描述 |
jmeter.all.h.count | 所有請求的TPS |
jmeter.<請求名稱>.h.count | 對應<請求名稱>的TPS |
jmeter.all.ok.pct99 | 99%的請求響應時間 |
jmeter.<請求名稱>.ok.pct99 | 對應<請求名稱>99%的請求響應時間 |
jmeter.all.test.startedT | 執行緒數 |
【注意】如果要監控<請求名稱>的話,Jmeter上的“Backend Listener”修改如下引數
1. 將“summanyOnly”修改成False,
2. 將“userRegexpForSamplersList”修改成True,
3. 並且要設定“samplersList”的值,“samplersList”是可以支援正則表示式的,“samplersList”的設定要與請求對應,否則找不到該請求。如圖
設定好了,執行一下,在Grafana裡面,就可以看到自己的請求了。
如果想要了解這些監控都代表什麼意思,可以訪問Jmeter的官網地址去檢視閱讀“http://jmeter.apache.org/usermanual/realtime-results.html”
最後來一張帥氣的圖:
相關推薦
工程架構-非功能測試工具-效能測試_Jmeter + Grafana + InfluxDB 效能測試監控(轉)
通過InfluxDB支援HTTP提交,從而實現Jmeter監控的入庫,而對於資源監控可以通過(Curl+awk)Shell來過濾監控命令(iostat,Vmstat等)最後提交至庫的方式來完成監控,同理Zabbix也可以。由於本文長度問題,這裡只記錄了關於Jmeter入庫的部
Jmeter性能測試工具的使用(Web性能測試)
動態參數 數量 後綴名 右鍵 創建 read mage tween 圖形界面 Jmeter性能測試工具的使用(Web性能測試) 1、下載 http://pan.baidu.com/s/1o7p18Ye 該軟件不用安裝,直接解壓打開即可使用。 2、
開源API測試工具 Hitchhiker v0.6更新 - 改進壓力測試
高級 header 參數 分鐘 goroutine log parse 變量 otto Hitchhiker 是一款開源的支持多人協作的 Restful Api 測試工具,支持Schedule, 數據對比,壓力測試,支持上傳腳本定制請求,可以輕松部署到本地,和你的team成
開發者測試(2)-采用精準測試工具對J2EE Guns開發框架進行測試
命令行 時序數據 我們 .sql roc project 控制流程 實現 分享圖片 配置測試Guns Guns簡介 Guns是一個近幾年來基於SpringBoot的開源便利且較新的JavaEE項目開發框架,它整合了springmvc + shiro + mybati
【星雲測試】開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
配置測試Guns Guns簡介 Guns是一個近幾年來基於SpringBoot的開源便利且較新的JavaEE專案開發框架,它整合了springmvc + shiro + mybatis-plus + beetl + flowable多項開源技術,致力於讓Java後臺開發更簡潔快速
開發者測試(4)-採用精準測試工具對dubbo微服務應用進行測試
簡介:本文主要目的是把現今主流的Dubbo框架專案和精準測試進行對接,通過精準測試的資料穿透、資料採集、測試用例與程式碼的雙向追溯、資料分析等一系列精準測試的特有功能達到對專案質量的保證。 本次環境搭建分為基礎環境準備、Dubbo環境搭建、精準測試環境搭建、精準測試與Dubbo環境對接等一整套完
開發者測試(4)-采用精準測試工具對dubbo微服務應用進行測試
缺陷管理 jpg 連接 cad -o 配置過程 bce per 階段 簡介:本文主要目的是把現今主流的Dubbo框架項目和精準測試進行對接,通過精準測試的數據穿透、數據采集、測試用例與代碼的雙向追溯、數據分析等一系列精準測試的特有功能達到對項目質量的保證。 本次環境搭建分為
【星雲測試】開發者測試(4)-采用精準測試工具對dubbo微服務應用進行測試
星雲測試 term 重命名 text gen 計算方法 url 生產者和消費者 local 簡介:本文主要目的是把現今主流的Dubbo框架項目和精準測試進行對接,通過精準測試的數據穿透、數據采集、測試用例與代碼的雙向追溯、數據分析等一系列精準測試的特有功能達到對項目質量的保
搭建Jmeter + Grafana + InfluxDB效能測試監控環境
背景 Jmeter原生的實時監控每半分鐘收集一次資料,只能在Linux控制檯檢視日誌輸出,介面看起來不直觀,圖表報告只能等壓測結束後才能生成。如下圖為jmeter在Linux下執行的實時日誌: 那麼如何在壓測過程中實時生成圖表監控資料呢?這裡介紹一種實現方案:搭建Jmete
【乾貨】Jmeter + Grafana + InfluxDB 效能測試監控
序章 前幾天在群裡看到大神們在討論Jmeter + InfluxDB + Grafana監控。說起來Jmeter原生的監控確實太醜了。當年不斷安慰自己說“醜一點沒關係,只要能用,好用,就行了!”。但是內心並不是這樣,做為一名測試人員,都有一顆精益求精的心。看到有東西可以替代那原生的監控資料,果斷
Java單元測試工具:JUnit4(四)——JUnit測試套件使用及引數化設定
(四)JUnit測試套件使用及引數化設定 這篇筆記記錄JUnit測試套件的使用,即批量執行測試類;以及JUnit中的引數化設定。 @RunWith 當類被
Jmeter + Grafana + InfluxDB 效能測試監控
閱讀目錄 序章 前幾天在群裡看到大神們在討論Jmeter + InfluxDB + Grafana監控。說起來Jmeter原生的監控確實太醜了。當年不斷安慰自己說“醜一點沒關係,只要能用,好用,就行了!”。但是內心並不是這樣,做為一名測試人員,都有一顆精益求精的心。看到有東西可以替代那原生
效能測試工具VTune的功能和用法介紹
1.VTune介紹 VTune視覺化效能分析器(Intel VTune Performance Analyzer)是一個用於分析和優化程式效能的工具,作為Intel為開發者提供的專門針對尋找軟硬體效能瓶頸的一款分析工具,它能確定程式的熱點(hotspot),找
系統技術非業餘研究 » Fio IO效能測試工具介紹
官網:http://freshmeat.net/projects/fio/ fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 13
GCC高階測試功能擴充套件——程式效能測試工具gprof、程式覆蓋測試工具gcov
很多年前將伺服器程式碼從Windows移植到Linux時,用過gprof進行過優化,非常有幫助。時隔多年,為了保留記憶,轉一下這篇文章。 gprof是GNU組織下的一個比較有用的效能測試功能: 主要功能: 找出應用程式中消耗CPU時間最多的函式;
系統技術非業餘研究 » fio效能測試工具新添圖形前端gfio
gfio.c: In function ‘gfio_ui_setup_log’: gfio.c:322: error: ‘GtkTreeSelection’ undeclared (first use in this function) gfio.c:322: error: ‘selection
開發效能測試工具——自己動手實現迭代功能
在用Jmeter進行效能測試時也許有人遇到過這樣的問題: 測試時TPS相當大,一臺,二臺負載機都找不到拐點,最後準備好多臺負載機才解決問題,而且管理這些機器時比較麻煩。 我們能不能解決這些問題呢?當然可以,我們可以自動動手來實現一個迭代器。之所以能夠高效,是因為我們去掉了
【蟲師--系列08】效能測試知多少---效能測試工具原理與架構
來自:http://www.cnblogs.com/fnng/archive/2012/07/31/2617546.html 作者:蟲師 在效能測試的學習過程中,堅持思想與工具(分開)並行,當前面世面上的效能測試書籍大多把理論與loadrunner融為一體講解
效能測試工具siege安裝及測試
其實對於類似的效能測試工具之前接觸過AB。我是在ubuntu下做的測試。 1、更新系統 sudo apt-get update && sudo apt-get upgrade –show-upgraded 2、下載最新版的siege wget http://do
Lighthouse前端效能優化測試工具
在前端開發中,對於自己開發的app或者web page效能的好壞,一直是讓前端開發很在意的話題。我們需要專業的網站測試工具,讓我們知道自己的網頁還有哪些需要更為優化的方面,我自己嘗試了一款工具:Lighthouse,感覺還不錯,記錄下來,也順便分享給用得著的夥伴。 Lighthouse分析web應用程式和w