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を追加します。
15.3 InfluxDB の設定¶
バックエンド リスナーから送信されたデータを保存するには、次のいずれかを実行します。
- InfluxDB 2 のセットアップでは、jmeter バケットを作成します
- InfluxDB 1.x のセットアップでは、 Influx CLIを使用してjmeterデータベースを作成します。
15.3.1 InfluxDBBackendListenerClient の InfluxDB セットアップ¶
InfluxDB は、メトリクスを簡単に保存できるオープンソースの分散型時系列データベースです。インストールと構成は非常に簡単です。詳細については、InfluxDB ドキュメントを参照してください。InfluxDB のデータは、 Grafana
を介してブラウザーで簡単に表示できます。
15.3.2 InfluxDBBackendListenerClient の InfluxDB 2 セットアップ¶
構成ではinfluxdbTokenパラメータを指定し、 influxdbUrlのクエリ パラメータとしてバケットと組織も指定する必要があります。詳細については、InfluxDB v2 APIを参照してください。
InfluxDB UI で必要な情報を取得する方法: