天天看點

通過案例帶你輕松玩轉JMeter連載(55)

4 相關元件介紹

4.1 監聽器

1 後端監聽器

後端監聽器是一個異步監聽器,使您能夠插入BackendListenerClient的自定義實作。通過右鍵在彈出菜單中選擇“添加->監控器->後端監聽器”,如圖34所示。

通過案例帶你輕松玩轉JMeter連載(55)

圖34 後端監聽器

  • 後端監聽器實作:BackendListenerClient實作的類。
  • 異步隊列大小:異步處理SampleResults時儲存這些結果的隊列的大小。
  • 參數:BackendListenerClient實作的參數。
  • 以下參數适用于GraphiteBackendListenerClient實作

Ø graphiteMetricsSender:graphiteMetricsSender

org.apache.jmeter.visualizers.backend.graphite.text graphiteMetricsSender或org.apache.jmeter.visualizers.backend.graphite.pickle graphiteMetricsSender。

Ø graphiteHost:Graphite或XDB(啟用Graphite插件)伺服器主機。

Ø graphitePort:Graphite或InfluxDB(啟用Graphite插件)伺服器端口,預設為2003。注意:GraphiteMetricssender(端口2004)隻能與Graphite伺服器通信。

Ø rootMetricsPrefix:發送到後端的度量的字首。預設值為“jmeter”。請注意,JMeter沒有在根字首和samplerName之間添加分隔符,這就是目前需要尾随點的原因。

Ø summaryOnly:隻發送摘要,不發送詳細資訊。預設為true。

Ø samplersList:定義要發送到後端的示例結果的名稱(标簽)。如果useRegexpForSamplersList=false,則這是分号分隔名稱的清單。如果useRegexpForSamplersList=true,這是一個正規表達式,将與名稱比對。

Ø useRegexpForSamplersList:将SAMPLERSLIST視為正規表達式,選擇要向後端報告度量的采樣器。預設為false。

Ø percentiles:要發送到後端的百分比。百分位可以包含分數部分,例如12.5(分隔符始終為".")。清單必須以分号分隔。通常3個或4個值就足夠了。

自JMeter 3.2以來,它是一種允許使用自定義模式直接在XDB中寫入的實作。它被稱為InfluxdbBackendListenerClient。以下參數适用于InfluxDBackEndListenerClient實作。

Ø influxdbMetricsSender:org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender。

Ø influxdbUrl:influxdbUrl,比如:http://influxHost:8086/write?db=jmeter。

Ø influxdbToken:InfluxDB 2身份驗證令牌,比如:HE9yIdAPzWJDspH_tCc2UvdKZpX==。

Ø application:被測試應用程式的名稱。此值作為名為"application"的标記存儲在"events"度量中。

Ø measurement:根據Influx Line Protocol Reference進行測量。預設為"jmeter"。

Ø summaryOnly:隻發送摘要,不發送詳細資訊。預設為true。

Ø samplersRegex:将與樣本名稱比對并發送到後端的正規表達式。

Ø testTitle:測試名稱。預設為測試名稱。該值作為名為"text"的字段存儲在"events"中。JMeter在測試開始和結束時自動生成一個注釋,該值以"start"和"end"結尾

Ø eventTags:Grafana允許為每個注釋顯示标記。可以在這裡填。該值作為名為"tags"的标記存儲在"events"度量中。

Ø percentiles:要發送到後端的百分比。百分位可能包含小數部分,例如12.5(分隔符始終為".")。清單必須以分号分隔。通常3個或4個值就足夠了。

Ø TAG_WhatEverYouWant:可以添加任意數量的自定義标記。對于每一行,建立一個新行并在其名稱前加上"TAG_"。

自JMeter 5.4以來,一種将所有示例結果寫入XDB的實作。它被稱為InfluxDBRawBackendListenerClient。值得注意的是,由于資料和單個寫入的增加,JMeter和InfluxDB使用的資源将比InfluxdbBackendListenerClient更多。以下參數适用于InfluxBrawBackEndListenerClient實作。

Ø influxdbMetricsSender:org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender

Ø influxdbUrl:influxdbUrl,比如:http://influxHost:8086/write?db=jmeter 或者對于雲:https://eu-central-1-1.aws.cloud2.influxdata.com/api/v2/write?org=org-id&bucket=jmeter。

Ø influxdbToken:InfluxDB 2身份驗證令牌,比如:tCc2UvdKZpX==。

Ø measurement:根據Influx Line Protocol Reference進行測量。預設為"jmeter"。

5總結

本章學習了幾個性能測試監控工具。

  • 監控壓測端的工具集:JMeter叢集+InfluxDB存儲+Grafana。
  • 監控被測端的工具集:Exporter + Prometheus + Grafana。
  • 全鍊路監控工具集:SkyWalking。

并且介紹了一個監聽器:後端監聽器。

最後額讓我們來總結一下本章所介紹的工具名稱和預設端口号。參見表1所示。

表1 監測工具和預設端口号

通過案例帶你輕松玩轉JMeter連載(55)