すべてのプロダクト
Search
ドキュメントセンター

Performance Testing:JMeter ストレステストの概要

最終更新日:Jan 08, 2025

JMeter ストレステストを開始するには、JMeter ストレステストシナリオを作成し、オンプレミスデバイスからシナリオに JMeter スクリプトをインポートする必要があります。このトピックでは、単純な構成を使用して Web ページのストレステストをすばやく開始する方法について説明します。

前提条件

手順

[jmeter] 機能を使用するには、オンプレミスデバイスで Apache JMeter を使用してストレステストスクリプトを作成する必要があります。次に、スクリプトを JMeter ストレステストシナリオにアップロードし、シナリオで定義されているストレステストを開始します。次の手順を実行します。

手順 1:Apache JMeter を使用してスクリプトを作成する

  1. サーバー名または IP アドレス、ポート番号、リクエストメソッドなどの HTTP リクエストパラメータを構成します。image

    [基本設定] タブのパラメータの説明:

    • プロトコル:この例では、http を選択します。

    • サーバー名または IP:テストする Web ページのドメイン名を入力します。例:www.example.com

    • ポート番号:Web ページへのアクセスに使用するポート番号を入力します。例:80

    • メソッドGET を選択します。

  2. テストプランを実行し、[結果ツリーの表示] で結果を表示します。次の応答情報は、アップロードが成功したことを示しています。image

  3. デバッグが成功したら、ここでは HTTP_Request.jmx という名前のテストプランファイルをエクスポートします。

手順 2:JMeter ストレステストシナリオを作成し、シナリオで定義されているストレステストを開始する

  1. PTS コンソール にログインし、 を選択し、 をクリックします。パフォーマンステスト > シナリオの作成JMeter

  2. ストレステストシナリオを調整します。image

    次のパラメータに注意してください。

    シーンtest-jmx と入力します。

    ファイルのアップロード[シーンアセンブリ] タブで、HTTP_Request.jmx という名前の JMeter スクリプトファイルをアップロードします。

    Jmeter バージョン5.6.3 を選択します。選択した JMeter バージョンが、オンプレミスデバイスでスクリプトの作成に使用した Apache JMeter バージョンと同じであることを確認してください。そうでない場合、エラーが発生する可能性があります。

  3. 負荷設定を構成する

    最大仮想ユーザー数を 10 に設定し、テスト期間と増分期間を 2 分に設定します。その他のパラメータにはデフォルト設定を使用します。ストレステストには課金されます。ビジネス要件に基づいて負荷レベルを構成することをお勧めします。詳細については、「課金概要」および「ストレステストモデルとレベルを構成する」をご参照ください。image

  4. シナリオをデバッグします。

    シナリオをデバッグして、構成が有効かどうかを確認し、テストの失敗を防ぐことができます。シナリオをデバッグすることをお勧めします。詳細については、「ストレステストシナリオをデバッグする」をご参照ください。次の図は、リクエストが成功したことを示しています。API リクエストの応答ステータスコードが 200 でない場合は、API リクエストが想定どおりに開始されたかどうかを確認してください。image

  5. [保存して開始] をクリックします。[メモ] ページで、[今すぐ実行] を選択し、[テストは許可されており、適用される法律および規制に準拠しています] をオンにします。次に、[開始] をクリックします。

ストレステスト結果の分析

ストレステストが完了すると、システムはテスト中に生成されたデータ(ストレステストシナリオメトリック、ビジネスの詳細、監視の詳細、API サンプリングログなど)を自動的に取得し、ストレステストレポートを生成します。[ストレステスト レポート] ページでレポートを表示できます。詳細については、「JMeter パフォーマンステスト レポートを表示する」をご参照ください。image

FAQ

JMeter ストレステストは、PTS コンソールとオンプレミスデバイス間の JMeter バージョンの不一致、jar プラグインのアップロードの不完全、スクリプトで設定されたローカルファイルパス、または負荷割り当ての問題が原因で失敗する可能性があります。次のいずれかの方法を使用して、上記の課題を解決できます。

  1. 新しいバージョンの JMeter は通常、以前のバージョンと互換性がありますが、隠れた問題が存在する可能性があります。PTS コンソール上の JMeter バージョンがオンプレミスデバイス上のバージョンと同じであることを確認してください。ストレステストを開始する前に、シナリオのデバッグが完了していることを確認してください。JMeter 4.x はサポートされていません。

  2. オンプレミスデバイスで使用される jar プラグインとデータファイルを、スクリプトと共に JMeter ストレステストシナリオにアップロードします。ファイルを省略しないでください。

  3. オンプレミスデバイス用に記述されたローカルファイルパスを削除し、ファイルがスクリプトで使用されている場合はファイル名のみを保持します。PTS のロードジェネレーターとローカルファイルシステムは異なります。ローカルファイルパスが削除されていないと、エラーが発生する可能性があります。

  4. PTS は、指定された負荷値を取得するために、ストレステスト中にスクリプトを書き換えます。ただし、元のスクリプトは上書きされません。ストレステスト中にスクリプトを書き換える方法は次のとおりです。

    PTS コンソールで指定された同時スレッド数から setUp Thread Group と tearDown Thread Group のスレッド数を引いた数が、Thread Group に割り当てられます。差が 0 の場合、割り当てられるスレッド数は 0 です。PTS は Thread Group の JMeter スクリプトのみを書き換えます。たとえば、シナリオで同時スレッド数を 500 と指定し、スクリプトで 3 つの Thread Group を比率 a:b:c で設定した場合 (setUp Thread Group と tearDown Thread Group を除く)、PTS は 500 のスレッド数を比率 a:b:c で 3 つの Thread Group に割り当てます。

    この場合、ストレステストの前に、スクリプト内のスレッドグループのタイプをクリアする必要があります。スクリプトに Thread Group が 1 つだけ含まれている場合は、Thread Group のスレッド数を 1 に設定します。スクリプトに複数の Thread Group が含まれている場合は、各 Thread Group の負荷を均等に割り当てる場合は、各 Thread Group のスレッド数を同じ数に設定します。負荷を比例的に割り当てる場合は、各 Thread Group のスレッド数を比例的に設定します。

参考資料