Jmeter(37) - 初心者から上級者まで - HTML 形式でパフォーマンス テスト レポートを出力 (詳細チュートリアル)

1 はじめに

Loadrunner と比較すると、Jmeter は実際にテスト レポートを作成できます。一般的には使用されませんが (Loadrunner のレポートほど強力ではありません)、友達が個人的に尋ねてきたので、ホン兄弟がそれを書き留めておくのもよいでしょう。今日は入力方法を学びましょうHTML 形式の JMeter テスト レポート。前述したように、パフォーマンス テストを行う場合は、GUI でテスト計画を設計し、スレッド数、ユーザー数、ループ回数などのさまざまなシナリオと負荷値を設定する必要があります。設定を保存し、コマンド ラインを使用してパフォーマンス テストを開始し、関連するテスト結果を表示します。

2.JmeterのHTML形式レポート生成の仕組み

ダッシュボード生成エンジンは、サンプル操作フローに基づいたモジュール機能です。
次の図はこれらのプロセスを表すことができます。

自動テストを学びたい場合は、一連のビデオをお勧めします。このビデオは、Bilibili によって再生されるネットワーク全体でナンバー 1 の自動テスト チュートリアルであると言えます。同時にオンラインに参加している人の数は 1,000 人に達しました、また、収集してさまざまなチャネルで伝達できるメモもあります。マスター技術コミュニケーション: 798478386   

【更新】Bilibili が教える Python インターフェース自動テストの最も詳細な実践チュートリアル大全(実践版最新版)_bilibili_bilibili 【更新】Bilibili が教える Python インターフェース自動テストの最も詳細な実践チュートリアル大全(実践版)最新版)には、1. インターフェース自動化のためにインターフェース自動化を行うべき理由、2. インターフェース自動化の要望の全体像、3. インターフェース自動化のためのインターフェース実践など、合計 200 本のビデオが含まれています。さらにエキサイティングなビデオはこちらUPマスターよりUPアカウントをフォローしてください。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337 

このビューでは、次のことがわかります。

    • サンプルの生成元のソース (CSV ファイルなど)。

    • コンシューマーと呼ばれる一連のプロジェクト。プロジェクトを通過するサンプルに対して操作 (フィルター、並べ替え、計算など) を実行します。

    • サンプル コンテキストと呼ばれる実行コンテキストには、ユーザーの計算結果が格納されます。

    • エクスポーターと呼ばれる一連のプロジェクト。サンプル コンテキストのコンテンツを使用して、ユーザー向けの最終結果 (HTML ページの生成など) を生成します。

3. 具体的な手順

1. 以下の図に示すように、イメージ (GUI) インターフェイスを開き、新しいスレッド グループを作成します。

 

2. 次の図に示すように、Baidu News Home Page、Baidu News Finance、Baidu News Sports という 3 つの新しい HTTP リクエストを作成します。

百度ニュースのホームページ

百度ニュース金融

百度ニューススポーツ

3. 次の図に示すように、アサーションを追加し、応答アサーションを選択します。

 4. 次の図に示すように、ビュー結果ツリーを追加します。

5. スレッド グループの設定は次のとおりです。

 

ここで、グラフィカル インターフェイスを使用している場合は、これを 1 に設定することをお勧めします。テストに合格したら、それを複数のユーザーに変更し、ローカルの xx.jmx ファイルを保存します。

6. それをローカルに保存し、JMeter を閉じます。

7. HTML レポートを保存するためのフォルダー HttpReports をデスクトップ上にローカルに作成します。

8. 以下の図に示すように、cmd はパフォーマンス テストを開始します。

9.cmd まず cd で jmeter の bin ディレクトリに移動し、次のコマンドを入力します。

jmeter -n -t D:\software\apache-jmeter-5.1.1\bin\Test Plan And Report.jmx -l C:\Users\DELL\Desktop\HttpReports\html.csv -e -o C:\Users \DELL\デスクトップ\HttpReports

3 つのパスは、xxx.jmx ファイルのパス、出力 xxx.csv ファイルのパス、および保存する http レポートのファイル パスです。実行結果は次の図のようになります。

 10. HTTP レポートを表示します。以下の図に示すように、デスクトップの HttpReports フォルダーに複数のファイルが生成されます。

11. この HTML ファイルをブラウザで開き、自分でクリックすると、以下に示すレポートが表示されます。

 

4.チャート情報の詳細説明

Jmeter5.0 以降のテスト レポートは、ダッシュボード、チャート、カスタム グラフの 3 つの部分に分かれており、3 番目の部分は Jmeter5.0 より前のバージョンでは利用できません。以下で個別に説明します。

4.1ダッシュボード(概要ダッシュボード)

①、試験・報告書情報

テストおよびレポート情報: テストおよびレポート情報: テスト結果保存ファイル/テスト開始時刻/テスト終了時刻/表示フィルター。

②、APDEX(アプリケーションパフォーマンスインデックス)

APDEX (Application Performance Index): アプリケーションのパフォーマンス満足度の基準 (0 ~ 1)。1 はすべてのユーザーが満足していることを意味し、設定ファイルで設定できます。APDEX に関する関連情報については、こちらを参照してください: Application Performance Indicators; 英語の原文については、こちらを参照してください: Apdex-Wikipedia

 ③、要望概要

リクエストの概要: リクエストの成功率 (OK) と失敗率 (KO) がパーセンテージで表示されます。

④、統計

統計テーブルには、構成可能な 3 つのパーセンタイルを含む、各トランザクションのすべてのメトリックの概要が 1 つのテーブルに表示されます。統計: データ分析。基本的には概要レポートと集計レポートの結果を統合します。

 

⑥、サンプラー別トップ5エラー

サンプラーごとの上位 5 エラーの表には、各サンプラーの上位 5 エラーが表示されます (デフォルトではトランザクション コントローラーを除く): サンプラーごとの上位 5 エラー: トップ 5 エラー情報サンプリング

4.2Charts(詳細情報チャート)

図に示すように、チャートは時間ディメンション情報 (Over Time)、スループット (Throughput)、および応答時間 (Response Times) の 3 つの部分に分かれています。

PS:詳細な情報チャートが多数あるため、ここではパフォーマンス テスト プロセス中にさらに重要なチャート分析をいくつか選択します。

時間とともに

①. Response Times Over Time (スクリプト実行中の応答時間変化傾向グラフ)

注: パフォーマンスの変曲点の範囲は、応答時間、TPS、およびシミュレートされた同時実行性の変化の変化に基づいて決定できます。

 

②、 一定期間にわたる応答時間のパーセンタイル(成功した応答)

説明: スクリプト実行中の成功したリクエスト応答時間の割合分布グラフは、集計レポート内のデータのさまざまな割合をグラフィカルに表示したものとして理解できます。

③、Active Threads Over Time (スクリプト実行時間中のアクティブ スレッドの分布)

 

④. Bytes Throughput Over Time (スクリプト実行中のスループット変化傾向グラフ)

注: 容量計画、可用性テスト、大規模ファイルのアップロードおよびダウンロードのシナリオでは、スループットは非常に重要な監視および分析指標です。

⑤、Latency Over Time(スクリプト実行中の応答遅延変化傾向グラフ)

注: 同時実行性が高いシナリオ、またはビジネスとデータの一貫性が強力なシナリオでは、遅延が重大な要因になります。

⑥Connect Time Over Time(スクリプト実行時間中の平均接続時間)

 

スループット

①. 1 秒あたりのヒット数 (埋め込みリソースを除く) 1 秒あたりのクリック数の曲線

②、Codes Per Second (埋め込みリソースを除く) 1 秒あたりのステータス コード分布曲線

 

③、Transactions Per Second 1 秒あたりのトランザクション数の曲線

注: 1 秒あたりのトランザクション数 (TPS) は、パフォーマンス テストにおいて非常に重要な指標であり、システムの処理能力を測定するために使用される重要な指標です。

④Total Transactions Per Second 1秒間に通過したトランザクションの総数

⑤.応答時間とリクエストの中央値と 1 秒あたりのリクエスト数の関係曲線

⑥. 遅延時間の中央値と 1 秒あたりのリクエスト数の間のレイテンシとリクエストの関係曲線

 

応答時間

①. Response Time Percentiles(応答時間パーセンタイル分布図)

説明: 全リクエストに対する一定範囲内の応答時間を持つリクエストの割合であり、平均応答時間と比較してシステムの安定性を測るのに適した値です。

②. 応答時間概要 応答時間概要ヒストグラム

 

③、Time Vs Threads (平均応答時間とスレッド数の対応する変化曲線)

注: この対応する変化曲線は、パフォーマンスの変曲点を決定するための基準値として使用できます。

④. 応答時間分布 応答時間分布図

 

4.3税関グラフ

Honge には設定がないため、ここは空です。必要に応じて独自にカスタマイズできます。具体的な手順については、https://jmeter.apache.org/usermanual/generated-dashboard.html#top を参照してください。

5. まとめ

1. 実行するコマンドを入力すると、Hong Ge はエラーが発生しました: Unknown arg: Plan.Hong Ge の第一印象は、テスト計画の名前にスペースがあるということでした (他の可能性: 特殊文字、パス エラー、中国語など) .) を削除した後、実行できます。

2. プロセスおよび運用の実行中に、ポート 4445 がファイアウォールまたはセキュリティ プロンプトを通過できるかどうかに関する情報が表示されます。

3. カスタム構成

JMeter3.0 では、bin ディレクトリに reportgenerator.properties ファイルが追加されました。このファイルには、グラフィカル HTML レポート生成モジュールのすべてのデフォルト設定が保存されます。設定を変更するには、ファイルを直接編集するのではなく、設定して上書きすることをお勧めします。 user.properties 内。

①. 全体的な設定
全体的な設定には、jmeter.reportgenerator.overall_granularity=60000 のように jmeter.reportgenerator. という接頭辞が付けられます。

total_granularity: サンプリング ポイントの粒度を定義します。デフォルトは 60000 ミリ秒です。通常、安定性以外のテストでは、1000 ミリ秒など、より細かい粒度を定義する必要がある場合があります。user.properties ファイルの最後に次の設定を追加できます: #
経時グラフの粒度を変更したい場合は、このパラメータを変更してください。
jmeter.reportgenerator.overall_granularity=6000
report_title: レポートのタイトルを定義します。タイトルを実際のテスト項目名として定義する必要がある場合があります。
apdex_satisfied_threshold: 満足のいくしきい値を定義します。 Apdex 評価の (単位 ms)
apdex_tolerated_threshold: Apdex 評価の許容しきい値を定義します。
Apdext = (Satisfied Count + Tolerating Count / 2) / Total Samples
さらに、jmeter.properties には、コレクション内の 3 つのパーセンタイルのデフォルト値があります。報告:

集約_rpt_pct1 : デフォルトは 90
集約_rpt_pct2 : デフォルトは 95
集約_rpt_pct3 : デフォルトは 99

これは、user.properties で、aggregate_rpt_pct1 = 70 のようにオーバーライドできます。その効果は次のとおりです。

 

②、チャート構成

各チャート設定には、jmeter.reportgenerator.graph.<チャート名> というプレフィックスが付けられます。

classname は、チャートの実装クラスです。独自にカスタマイズした実装がある場合は、この構成の値をカスタム実装クラスのクラス名として書き込みます。property.set_granularity は、アイコンのサンプリング ポイントの粒度を設定します。構成されていない場合は
、全体設定の粒度設定はデフォルトで使用されます。
③、出力設定
出力設定には jmeter.reportgenerator.exporter というプレフィックスが付きます。

property.output_dir は、デフォルトのレポート出力パスを構成します。コマンドラインで -o オプションを使用すると、特定のパスを設定してこの構成をオーバーライドできます。
html.series_filter は、表示コンテンツをフィルタリングするために使用されます。たとえば、次の設定を user.properties に追加します:
jmeter.reportgenerator.exporter.html.series_filter=(^Login)(-success|-failure)?
これにより、最終レポートには Login という名前のサンプラーのデータのみが表示されます。この構成には 2 つの部分が含まれています。(-success|-failure)? は、1 秒あたりのトランザクション数のグラフが依存する構成です。前の部分では、フィルタリング用の正規表現を受け入れます。
④. レポートのカスタマイズ
JMeter は HTML レポートを生成するときに固定テンプレートを使用し、テンプレート ファイルのパスは ./bin/report-template です。
このディレクトリに入ると、レポートの各ページに .fmkr テンプレート ファイルがあり、index.html.fmkr パスと ./content/pages パスにいくつかのファイルが含まれていることがわかります。これらのテンプレートファイルを閲覧することで、一部のテキストを分かりやすく変更したり、中国語に変更したりするなど、レポートを簡単にカスタマイズする方法がわかります。

⑤. ページのタイトルは
デフォルトでは「Apache JMeter Dashboard」となっており
、reportgenerator.properties の jmeter.reportgenerator.report_title で統一して定義することで、全ページのタイトルが同じものになります。
<title>${reportTitle!"設定したいタイトル"}</title> など、対応する .fmkr ファイルの title タグ内の二重引用符内の値を直接変更することもできます。この方法は個別に使用できます。各ページの
タイトル チャートの名前を定義します。
現在のバージョンでは、各チャートの名前はテンプレート ファイルで直接定義されています。変更するには、テンプレート ファイル内の対応する要素の値を直接変更できます。 1 秒あたりのトランザクション数チャートの名前を変更したい場合は
、./Modify content/pages/Throughput.html.fmkr ファイルで直接変更できます。効果は次のとおりです。

おすすめ

転載: blog.csdn.net/Faith_Lzt/article/details/132762220