15. リアルタイム結果

JMeter 2.13 以降では、 AbstractBackendListenerClientを実装するクラスを提供することで、潜在的に任意のバックエンド (JDBC、JMS、Web サービスなど) を使用して、バックエンド リスナーを介してバックエンドに送信されるリアルタイムの結果を取得できます 。 JMeter には以下が付属しています。

  • メトリクスをグラファイト バックエンドに送信できるようにする GraphiteBackendListenerClient。
    この機能は以下を提供します。
    • ライブ結果
    • メトリックの優れたグラフ
    • 2 つ以上の負荷テストを比較する機能
    • JMeter の結果が同じバックエンドである限り、監視データを保存する
  • JMeter 3.2 で導入された InfluxDBBackendListenerClient により、UDP または HTTP プロトコルを使用してメトリックを InfluxDB バックエンドに送信できるようになります。この機能は以下を提供します。
    • ライブ結果
    • メトリックの優れたグラフ
    • 2 つ以上の負荷テストを比較する機能
    • グラフに注釈を追加する機能
    • JMeter の結果が同じバックエンドである限り、監視データを保存する
このドキュメントでは、さまざまなバックエンドでデータをグラフ化および履歴化するための構成セットアップを紹介します。
  • InfluxDBBackendListenerClient の InfluxDB セットアップ
  • GraphiteBackendListenerClient の InfluxDB セットアップ
  • グラファナ
  • 黒鉛

15.1 公開されたメトリクス

15.1.1 スレッド/仮想ユーザーのメトリック

スレッド メトリックは次のとおりです。

<rootMetricsPrefix>test.minAT
最小アクティブ スレッド
<rootMetricsPrefix>test.maxAT
最大アクティブ スレッド
<rootMetricsPrefix>test.meanAT
平均アクティブスレッド
<rootMetricsPrefix>test.startedT
開始されたスレッド
<rootMetricsPrefix>test.endedT
完成したスレッド

15.1.2 応答時間の指標

レスポンス関連のメトリックは次のとおりです。

<rootMetricsPrefix><samplerName>.ok.count
サンプラー名の成功応答数
<rootMetricsPrefix><samplerName>.h.count
1 秒あたりのサーバー ヒット数。このメトリックは、サンプル結果とサブ結果を累積します (トランザクション コントローラーを使用している場合は、[親サンプラーの生成] をオフにする必要があります)。
<rootMetricsPrefix><samplerName>.ok.min
サンプラー名の成功応答の最小応答時間
<rootMetricsPrefix><samplerName>.ok.max
サンプラー名の成功応答の最大応答時間
<rootMetricsPrefix><samplerName>.ok.avg
サンプラー名の成功応答の平均応答時間。
<rootMetricsPrefix><samplerName>.ok.pct<percentileValue>
サンプラー名の成功応答に対して計算されたパーセンタイル。計算された値ごとに 1 つのメトリックがあります。
<rootMetricsPrefix><samplerName>.ko.count
サンプラー名の失敗した応答の数
<rootMetricsPrefix><samplerName>.ko.min
サンプラー名の応答が失敗した場合の最小応答時間
<rootMetricsPrefix><samplerName>.ko.max
サンプラー名の失敗応答の最大応答時間
<rootMetricsPrefix><samplerName>.ko.avg
サンプラー名の失敗した応答の平均応答時間。
<rootMetricsPrefix><samplerName>.ko.pct<percentileValue>
サンプラー名の失敗した応答に対して計算されたパーセンタイル。計算された値ごとに 1 つのメトリックがあります。
<rootMetricsPrefix><samplerName>.a.count
サンプラー名の回答数(ok.countとko.countの合計)
<rootMetricsPrefix><samplerName>.sb.bytes
送信バイト
<rootMetricsPrefix><samplerName>.rb.bytes
受信バイト
<rootMetricsPrefix><samplerName>.a.min
サンプラー名の応答の最小応答時間 (ok.count および ko.count の最小値)
<rootMetricsPrefix><samplerName>.a.max
サンプラー名の応答の最大応答時間 (ok.count と ko.count の最大値)
<rootMetricsPrefix><samplerName>.a.avg
サンプラー名の応答の平均応答時間 (ok.count と ko.count の平均)
<rootMetricsPrefix><samplerName>.a.pct<percentileValue>
サンプラー名の応答に対して計算されたパーセンタイル。計算された値ごとに 1 つのメトリックがあります。(OK サンプルと不合格サンプルの合計で計算)

バックエンド リスナー のデフォルトのパーセンタイル設定は「90;95;99」です。つまり、90%、95%、99% の 3 つのパーセンタイルです。

Graphiteの命名階層 では、ドット (".") を使用して要素を区切ります。これは、10 進数のパーセンタイル値と混同される可能性があります。JMeter はそのような値を変換し、ドット (".") をアンダースコア ("-") に置き換えます。たとえば、「99.9」は「99_9」 になります。

デフォルトでは、JMeter は samplerName " all " の下に蓄積されたすべてのサンプラーのメトリックを送信します。バックエンド リスナーsamplersListが設定されている場合、 summaryOnly=trueでない限り、JMeter は一致するサンプル名のメトリックも送信します。

15.2 JMeter の設定

JMeter がメトリックをバックエンドに送信するようにするには、 InfluxDBBackendListenerClient を使用してBackendListenerを追加します。

InfluxDB 構成
InfluxDB 構成

15.3 InfluxDB の設定

バックエンド リスナーから送信されたデータを保存するには、次のいずれかを実行します。

HTTP API、つまり curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"を使用することもできます

15.3.1 InfluxDBBackendListenerClient の InfluxDB セットアップ

InfluxDB は、メトリクスを簡単に保存できるオープンソースの分散型時系列データベースです。インストールと構成は非常に簡単です。詳細については、InfluxDB ドキュメントを参照してください。InfluxDB のデータは、 Grafana
を介してブラウザーで簡単に表示できます。

15.3.2 InfluxDBBackendListenerClient の InfluxDB 2 セットアップ

構成ではinfluxdbTokenパラメータを指定し、 influxdbUrlのクエリ パラメータとしてバケット組織も指定する必要があります。詳細については、InfluxDB v2 APIを参照してください。

InfluxDB UI で必要な情報を取得する方法:

InfluxDB 2 の構成
InfluxDB 2 の構成

15.4 Grafana の設定

grafana のインストール
詳細については、ドキュメントを参照してください。データソースを追加する

取得できるダッシュボードの種類は次のとおりです。
Grafana ダッシュボード
Grafana ダッシュボード

15.5 グラファイト

このセクションへようこそ

Go to top