引言
JMeter的PerfMonMetricsCollector插件支持收集服務(wù)器的性能指標,ResponseTimesOverTime寸爆、TransactionsperSecond插件可以收集接口的性能指標聂使。但前面這些插件使用過程中對執(zhí)行機的硬件性能消耗非常大粮彤,尤其在gui模式下幾乎無法正常執(zhí)行。
為了收集JMeter的測試結(jié)果數(shù)據(jù)而不過多消耗執(zhí)行機的性能醇蝴,且能實時展示測試結(jié)果宣肚。我們可以使用jmeter的Backend Listener插件來向inflluxDB存儲性能測試數(shù)據(jù),再通過視覺炫酷的Grafana實時讀取和展示出influxDB的性能測試數(shù)據(jù)悠栓。
環(huán)境準備及部署
本次部署環(huán)境的系統(tǒng)為CentOS 6.9霉涨,
Jmeter Backend Listener
從JMeter2.13開始,Jmeter提供了一個AbstractBackEndListenerClient類惭适,通過使用Backend Listener可以調(diào)用這個類向后端發(fā)送實時結(jié)果笙瑟。
參考資料:http://jmeter.apache.org/usermanual/realtime-results.html、
http://jmeter.apache.org/usermanual/component_reference.html#Backend_Listener腥沽、
Backend Listener中傳遞的指標
Telegraf
Telegraf 是 InfluxData 下的子項目逮走,是由 Go 語言編寫的 metrics 收集鸠蚪、處理今阳、聚合的代理师溅。其設(shè)計目標是較小的內(nèi)存使用,通過插件來構(gòu)建各種服務(wù)和第三方組件的 metrics 收集盾舌。Telegraf 具有插件或集成功能墓臭,可以直接從其運行的系統(tǒng)中獲取各種指標,從第三方API中提取指標妖谴,甚至通過 statsd 和 Kafka 消費者服務(wù)監(jiān)聽指標窿锉。它還具有輸出插件,可將指標發(fā)送到各種其他數(shù)據(jù)存儲膝舅,服務(wù)嗡载,和消息隊列,包括InfluxDB仍稀,Graphite洼滚,OpenTSDB,Datadog技潘,Librato遥巴,Kafka,MQTT享幽,NSQ等等铲掐。
參考資料:https://www.influxdata.com/time-series-platform/telegraf/、
https://github.com/influxdata/telegraf值桩、
https://docs.influxdata.com/telegraf/v1.7/concepts/data_formats_input/摆霉、
https://kiswo.com/article/1022
influxDB
InfluxDB 是一個時間序列數(shù)據(jù)庫,用于處理海量寫入與負載查詢奔坟。InfluxDB旨在用作涉及大量時間戳數(shù)據(jù)的任何用例(包括DevOps監(jiān)控斯入,應(yīng)用程序指標,物聯(lián)網(wǎng)傳感器數(shù)據(jù)和實時分析)的后端存儲蛀蜜。
influxDB的語法是類SQL的刻两,增刪改查與mySQL相同。influxdb中的measurement對應(yīng)的關(guān)系型數(shù)據(jù)庫中的table滴某。默認端口是8086磅摹。
參考資料:https://docs.influxdata.com/influxdb/v1.7/introduction/installation/、https://docs.influxdata.com/influxdb/v1.7/
influxdb下載安裝?
wgethttps://dl.influxdata.com/influxdb/releases/influxdb-1.7.7.x86_64.rpm
sudo yum localinstall influxdb-1.7.7.x86_64.rpm
啟動influxdb服務(wù)?
sudo service influxdb start??
常規(guī)inlfuxdb操作
Grafana
Grafana是一個跨平臺的開源的度量分析和可視化工具霎奢,可以通過查詢數(shù)據(jù)源后可視化展示户誓。常用數(shù)據(jù)源有Graphite,InfluxDB幕侠,OpenTSDB帝美,Prometheus,Elasticsearch晤硕,CloudWatch和KairosDB等悼潭。
參考資料:https://grafana.com/docs/庇忌、https://grafana.com/grafana/download
Grafana下載安裝??
wgethttps://dl.grafana.com/oss/release/grafana-6.2.5-1.x86_64.rpm
sudo yumlocalinstall?grafana-6.2.5-1.x86_64.rpm
啟動Grafana服務(wù)?
?sudo?service grafana-server start
打開瀏覽器,輸入IP+端口舰褪,3000為Grafana的默認偵聽端口皆疹,系統(tǒng)默認用戶名和密碼為admin/admin。