我們都知道Jmeter提供了原生的結(jié)果查看,既然有原生的查看結(jié)果,為什么還要多此一舉使用其他工具進(jìn)行查看呢,除了查看內(nèi)容豐富外還有最主要的原因:
Jmeter提供的查看結(jié)果插件本身是比較消耗性能的,所以在正式壓測中應(yīng)當(dāng)禁用。但是我們又需要在腳本運行時實時查看結(jié)果,這時就需要借助外在工具實現(xiàn)。
除此之外,在真實壓測過程中還需要注意Jmeter圖形化模式只適合調(diào)試使用,不要進(jìn)行壓測。圖形化的壓測方式會消耗較多的客戶端性能,在壓測過程中容易因為客戶端問題導(dǎo)致內(nèi)存溢出。官方也給出了提示通過命令行執(zhí)行。執(zhí)行命令:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
-n 表示在非 GUI 模式下運行 JMeter;
-t 表示要運行的 JMeter 測試腳本文件,一般是 jmx 結(jié)尾的文件;
-l 表示記錄結(jié)果的文件,默認(rèn)以 jtl 結(jié)尾;-e 表示測試完成后生成測試報表;
-o 表示指定的生成結(jié)果文件夾位置。
實現(xiàn)原理
接下來詳解借助 docker 使用 InfluxDB 和 Grafana 搭建性能可視化監(jiān)控平臺。
InfluxDB概念:InfluxDB是一款用Go語言編寫的開源分布式時序、事件和指標(biāo)數(shù)據(jù)庫,無需外部依賴。該數(shù)據(jù)庫現(xiàn)在主要用于存儲涉及大量的時間戳數(shù)據(jù),如DevOps監(jiān)控數(shù)據(jù),APP metrics, loT傳感器數(shù)據(jù)和實時分析數(shù)據(jù)。
InfluxDB概念特點:
- 無結(jié)構(gòu)(無模式):可以是任意數(shù)量的列;
- 可以設(shè)置metric的保存時間;
- 支持與時間有關(guān)的相關(guān)函數(shù)(如min、max、sum、count、mean、median等),方便統(tǒng)計;
- 支持存儲策略:可以用于數(shù)據(jù)的刪改。(influxDB沒有提供數(shù)據(jù)的刪除與修改方法);
- 支持連續(xù)查詢:是數(shù)據(jù)庫中自動定時啟動的一組語句,和存儲策略搭配可以降低InfluxDB的系統(tǒng)占用量;
- 原生的HTTP支持,內(nèi)置HTTP API;
- 支持類似sql語法;
- 支持設(shè)置數(shù)據(jù)在集群中的副本數(shù);
- 支持定期采樣數(shù)據(jù),寫入另外的measurement,方便分粒度存儲數(shù)據(jù)。
Grafana概念:一個開源軟件,擁有豐富的指標(biāo)儀表盤和圖形編輯器,適用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。簡單點說就是一套開源WEB可視化平臺。
JMeter引入Backend Listener將在壓測過程中實時發(fā)送統(tǒng)計指標(biāo)數(shù)據(jù)發(fā)送到Influxdb數(shù)據(jù)庫,Grafana(開源的WEB可視化看板)數(shù)據(jù)源連接到Influxdb,創(chuàng)建可視化看板,并實時獲取到測試指標(biāo)數(shù)據(jù)。
安裝InfluxDB
docker 下進(jìn)行安裝
拉取influxdb鏡像:docker pull influxdb
運行influxdb容器:docker run --name my_influxdb -p 8086:8086 influxdb
進(jìn)入容器:docker exec -it 容器id /bin/bash
創(chuàng)建數(shù)據(jù)庫 jmeter
influx
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;
安裝Grafana
拉取grafana鏡像:docker pull grafana/grafana
運行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana
訪問grafana:http://ip:3000
用戶名與密碼都是"admin"
進(jìn)入后添加數(shù)據(jù)庫
進(jìn)入后對數(shù)據(jù)庫進(jìn)行配置
保存并且測試
配置展示模板
模板比較豐富,可以預(yù)覽進(jìn)行查看,選擇合適的進(jìn)行下載
下載地址:https://grafana.com/grafana/dashboards
下載json文件
準(zhǔn)備導(dǎo)入
將下載下來的json文件導(dǎo)入之后即可。
設(shè)置完成后進(jìn)入面板
在此可設(shè)置刷新頻率
配置Jmeter
創(chuàng)建Jmeter腳本。
設(shè)置后端監(jiān)聽器
運行腳本后可查看結(jié)果
到此這篇關(guān)于借助Docker搭建JMeter+Grafana+Influxdb監(jiān)控平臺的文章就介紹到這了,更多相關(guān)Docker搭建JMeter+Grafana+Influxdb監(jiān)控平臺內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!