日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jmeter + Grafana + InfluxDB 性能测试监控

發(fā)布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jmeter + Grafana + InfluxDB 性能测试监控 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

閱讀目錄

1. 安裝InfluxDB

2. 安裝Grafana

3. 配置Jmeter

?

序章

??????? 前幾天在群里看到大神們在討論Jmeter + InfluxDB + Grafana監(jiān)控。說起來Jmeter原生的監(jiān)控確實太丑了。當年不斷安慰自己說“丑一點沒關系,只要能用,好用,就行了!”。但是內(nèi)心并不是這樣,做為一名測試人員,都有一顆精益求精的心。看到有東西可以替代那原生的監(jiān)控數(shù)據(jù),果斷親自動手部署了一套。

??????? 是吧,很帥吧!數(shù)據(jù)是用InfluxDB來存儲的,展示則是用Grafana來展示的

??????? InfluxDB是一個年輕的時序數(shù)據(jù)庫,是用同樣很年輕的語言“GO”開發(fā)出來的。小數(shù)據(jù)量的時候還性能還不錯,但是數(shù)據(jù)量大一點,性能問題就體現(xiàn)出來了。不過只是收集一下我?guī)讉€小時測試的數(shù)據(jù),還是足夠了。要是幾個月的測試數(shù)據(jù)那還是挑別的數(shù)據(jù)庫吧。

??????? Grafana是純粹用js編寫出來的,專門用來展示數(shù)據(jù)用的。

??????? 基本上,就是Jmeter通過“Backend Listener”,將測試的數(shù)據(jù)上傳到我的虛擬機上,通過InfluxDB來存儲,Grafana來展示出來。我們訪問web,稍微配置一下,就可以看到展示的數(shù)據(jù)了。

??? 我的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存儲的數(shù)據(jù)庫與端口號,還有需要將UI端口開放

[root@localhost ~]# 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

[root@localhost ~]# /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

[root@localhost ~]# /etc/init.d/grafana-server restart OKopping Grafana Server ...??????????????????????????????? [? OK? ] Starting Grafana Server: .... OK

?

打開瀏覽器,訪問虛擬機IP“http://192.168.245.131:3000”

?

輸入用戶名,密碼登錄系統(tǒng)。用戶名與密碼都是"admin"

?

添加需要展示數(shù)據(jù)的數(shù)據(jù)庫

?

添加InfluxDB數(shù)據(jù)庫配置。輸入帳號密碼“admin / admin”,點擊Test & Save 提示“Success”說明成功了

【注意】URL的端口是8086,而剛才配置的8083是UI的端口。

??? - 8083端口是InfluxDB的UI界面展示的端口

??? - 8086端口是Grafana用來從數(shù)據(jù)庫取數(shù)據(jù)的端口

??? - 2003端口則是剛剛設置的,Jmeter往數(shù)據(jù)庫發(fā)數(shù)據(jù)的端口

?

3. 配置Jmeter

1. jmeter中,添加“監(jiān)聽器 -> Backend Listener”

2. 配置“Backend Listener”,主要配置Host,如下圖

3. 添加一個Java請求,方便測試。(因為想偷懶,Java請求我什么都不用寫,直接運行就能成功)?

4. 添加“監(jiān)聽器 -> 查看結(jié)果樹” 運行一下Jmeter,主要看Java請求是否發(fā)送出去了


沒有什么問題,這個時候訪問InfluxDB“http://192.168.245.131:8083”,?在輸入框中輸入如下,點擊回車:

# 可以使用這個,這個是查詢所有表,顯示1條記錄 select * from /.*/ limit 1 ? # 也可以使用這個,這個是顯示所有表 show measurements

點擊回車后,就應該有數(shù)據(jù)了,會出現(xiàn)下圖:

這個時候再回來配置Grafana,來展示這些數(shù)據(jù)

?

添加一個展示項目

點擊“Home -> New”

?

添加一個圖表

點擊旁邊的綠點“Add Panel -> Graph”

?

配置圖表

配置好了,就能看到圖了。如果看不到圖,請用Jmeter多發(fā)幾次Java請求。下圖中選擇監(jiān)控的選項,可以在Jmeter的官網(wǎng)上查看到對應的解釋。

?

大致介紹幾種我常用的監(jiān)控。

名稱描述
jmeter.all.h.count所有請求的TPS
jmeter.<請求名稱>.h.count對應<請求名稱>的TPS
jmeter.all.ok.pct9999%的請求響應時間
jmeter.<請求名稱>.ok.pct99對應<請求名稱>99%的請求響應時間
jmeter.all.test.startedT線程數(shù)

?

【注意】如果要監(jiān)控<請求名稱>的話,Jmeter上的“Backend Listener”修改如下參數(shù)

1. 將“summanyOnly”修改成False,

2. 將“userRegexpForSamplersList”修改成True,

3. 并且要設置“samplersList”的值,“samplersList”是可以支持正則表達式的,“samplersList”的設置要與請求對應,否則找不到該請求。如圖

?

設置好了,運行一下,在Grafana里面,就可以看到自己的請求了。

?

如果想要了解這些監(jiān)控都代表什么意思,可以訪問Jmeter的官網(wǎng)地址去查看閱讀“http://jmeter.apache.org/usermanual/realtime-results.html”

?

最后來一張帥氣的圖:


from:http://www.cnblogs.com/yyhh/p/5990228.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Jmeter + Grafana + InfluxDB 性能测试监控的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。