リスナーの種類

JMeter には多数のリスナーが用意されています。目的に応じて使い分けましょう。

View Results Tree
リクエスト・レスポンスの詳細を1件ずつ確認できる。デバッグに最適。大規模テストには不向き(メモリ消費が大きい)。
Summary Report
サンプラーごとの集計結果(リクエスト数・平均応答時間・スループット・エラー率)をリアルタイムに表示する。最も基本的なリスナー。
Aggregate Report
Summary Report に加えてパーセンタイル値(90th/95th/99th)・中央値などが確認できる。SLAの検証に使いやすい。
Response Time Graph
応答時間の推移をグラフ表示する。時系列での変化を視覚的に把握するのに便利。
Backend Listener
Graphite・InfluxDB などのメトリクスバックエンドにリアルタイムでデータを送信する。Grafana と組み合わせたダッシュボード表示に使う。
Simple Data Writer
結果を JTL ファイルに書き出すだけのシンプルなリスナー。GUI を表示しない分、CLIテストでのログ保存に向いている。

View Results Tree

「View Results Tree」はデバッグ時に最も役立つリスナーです。 リクエスト・レスポンスの全内容(ヘッダー・ボディ・ステータス)を1件ずつ確認できます。 追加方法は Thread Group を右クリック → Add → Listener → View Results Tree です。

表示は以下の3タブで構成されています。

タブ内容
Request送信したリクエストのヘッダーとボディ
Response data受信したレスポンスのヘッダーとボディ。HTML・JSON・テキストなどの表示形式を選択可能
Sampler resultステータスコード・応答時間・バイト数・スレッド番号などの詳細情報

⚠️ 本番負荷テストでは View Results Tree を無効にする

View Results Tree はリクエストの全データをメモリに保持するため、大量のリクエストが発生するテストではメモリ不足で JMeter がクラッシュする原因になります。デバッグ確認が終わったら右クリック → Disable で無効化してください。CLIモードのテストでは自動的に機能しません。

Summary Report

「Summary Report」はテスト全体のサマリーを確認するための基本リスナーです。 追加後、テストを実行するとリアルタイムに集計結果が更新されます。

列名意味
Labelサンプラー名(リクエスト名)
# Samples総リクエスト数
Average平均応答時間(ms)
Min / Max最小・最大応答時間(ms)
Std. Dev.応答時間の標準偏差(ばらつきの指標)
Error%失敗したリクエストの割合(アサーション失敗を含む)
Throughput1秒あたりのリクエスト処理数(req/s)
Received KB/sec受信データ量(KB/s)
Avg. Bytes1リクエストあたりの平均受信バイト数

Aggregate Report

「Aggregate Report」は Summary Report の拡張版で、パーセンタイル値(90%tile・95%tile・99%tile)が追加されています。 SLA(Service Level Agreement) の確認に特に役立ちます。

💡 パーセンタイルとは

「90%tile が 1500ms」とは、全リクエストの90%が 1500ms 以内に完了したことを意味します。Average(平均)だけでは外れ値の影響を受けやすいため、パーセンタイル値でユーザー体験を評価するのがベストプラクティスです。一般的には 95%tile や 99%tile で SLA を定義します。

JTLファイルへの保存

テスト結果をファイルに保存しておくことで、テスト終了後にも詳細な分析やレポート生成が行えます。 どのリスナーも「Filename」フィールドにファイルパスを入力することで JTL(CSV形式)に保存できます。

JTL 出力例
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect
1718500000000,234,GET トップページ,200,OK,Thread Group 1-1,text,true,12345,456,1,1,231,0,12
1718500000100,187,GET トップページ,200,OK,Thread Group 1-2,text,true,12345,456,2,2,185,0,10

ファイル名の例: results/result-20260616.jtl

事前に results/ ディレクトリを作成しておく必要があります。 JMeter はディレクトリを自動作成しないため、存在しないパスを指定するとエラーになります。

JTL から HTML レポートを生成する

JTL ファイルは CLI 実行時の -e -o オプションで HTML ダッシュボードレポートに変換できます。詳細は PART 07 で解説します。

リスナーの配置場所と注意点

リスナーをどの階層に配置するかによって、収集対象の範囲が変わります。

配置場所収集対象
Test Plan 直下全スレッドグループ・全サンプラーの結果を集計
Thread Group 直下そのスレッドグループ内のサンプラーのみ
Sampler 直下そのサンプラー1件のみ

全体を一括で確認したい場合は Test Plan 直下に、 シナリオ別に分けて確認したい場合は Thread Group ごとにリスナーを配置します。 CLIテストでは GUI リスナーは機能しませんが、Filename を設定したリスナーはファイル出力が行われます。