パフォーマンスsandboxの使用方法

mablパフォーマンスsandboxによるAPI負荷テストの作成と実行

mablのパフォーマンステストでは、アプリケーションへの負荷をシミュレートするために、ワークスペース内の既存の機能テストを使用します。パフォーマンステストを実行したいが、自社のAPIに対する負荷テストの実行を許可されたサービスがない場合、mablパフォーマンスsandboxを使用してAPI負荷テストを作成、実行できます。

mablパフォーマンスsandboxは、現実的な負荷テスト動作をシミュレートするために構築されたAPIです。このパフォーマンスsandboxは、デフォルトでは200レスポンスコードを返します。また、ランダムにエラー応答を返したり、応答時間に遅延を加えたりするパラメーターを追加することもできます。

このチュートリアルでは、mablパフォーマンスsandboxを使用するAPI負荷テストの作成方法について説明します。

sandboxアプリケーションの追加

mablパフォーマンスsandboxを使用してテストを作成する前に、このsandboxをアプリケーションとしてワークスペースに追加する必要があります。まず、[Applications] ページに移動します ([Configuration] > [Applications])。

👍

"Demo" 環境の作成

練習用のテストとチームのテストワークフローのテストを区別できるように、"Demo" やこれに似た名前の練習用環境を作成することをお勧めします。

新しいアプリケーションを作成するために、次の手順を実行します。

  1. [+ New application] ボタンをクリックします。
  2. [New Application] ページで、アプリケーションに「Performance sandbox」という名前を指定します。
  3. [Application URL] と [API URL] にhttp://performance.sandbox.mabl.comと入力します。
  4. 「Demo」環境を選択します。
  5. 新しいアプリケーションを保存します。

APIテストの作成

mablパフォーマンスsandboxを使用してパフォーマンステストを実行するには、まずAPIテストを作成する必要があります。

  1. [New test] ボタンをクリックします。
  2. [API test] を選択します。
  3. テスト名を指定します。"[tutorial] performance sandbox api" のように、ワークスペース内の他のテストと区別しやすい名前にします。
  4. このテストに対して [No plan] を選択します。
  5. このテストを「Performance sandbox」アプリケーションに関連付けます。
  6. [Create test] ボタンをクリックします。

作成すると、mablのAPIテストエディターapi.urlとしてhttp://performance.sandbox.mabl.comが読み込まれます。現実的な負荷テストの動作をシミュレートするために、このテストに次のリクエストを追加します。

  • 速いエンドポイント
  • エラーを断続的に返すエンドポイント
  • エラーを断続的に返し、ランダムな遅延を伴うエンドポイント

リクエスト1: 速いエンドポイント

紫色のプラス記号 (+) ボタンをクリックし、リクエストを追加して、次の情報を入力します。

  • リクエストメソッド: GET
  • URL: {{@api.url}}/fast - {{@api.url}}は、ベースURL http://performance.sandbox.mabl.comを表します。/fastなど、任意のパスを使用できます。
APIテストエディターでの最初のリクエストの追加

APIテストエディターでの最初のリクエストの追加

リクエスト2: エラーを伴うURL

頻度に基づいてエラーをシミュレートするために、errorパラメーターを使用します。このパラメーターを使用すると、パフォーマンスsandboxが、200レスポンスか、リスト内のエラーを01の頻度に基づいてランダムに選択します。このパラメーターの基本的な構文は次のとおりです。

error=<コード>:<頻度>,<コード>:<頻度>

次の表に例を示します。

パラメーターの値説明
error=500:1このパフォーマンスsandboxは、常に500レスポンスを返します。
error=400:0.05このパフォーマンスsandboxは、400レスポンスを返すか200レスポンスを返すかをランダムに選択します。400レスポンスを返す確率は5%で、それ以外は200レスポンスを返します。
error=404:0.01,429:0.01このパフォーマンスsandboxは、400、429、200の各レスポンスをランダムに選択します。404と429のレスポンスを返す確率はどちらも1%で、それ以外は200レスポンスを返します。

紫色のプラス記号 (+) ボタンをクリックし、errorパラメーターを含む新しいリクエストを追加します。

  • リクエストメソッド: GET
  • URL: {{@api.url}}/flaky
  • クエリパラメーター: error=400:0.01,404:0.05,429:0.03
エラーを伴うリクエストの追加

エラーを伴うリクエストの追加

リクエスト3: エラーと遅延を伴うURL

リクエストに一定範囲の遅延を追加するために、waitrangeパラメーターを使用します。waitrangeパラメーターの基本的な構文は次のとおりです。

waitrange=<遅延の下限 (ミリ秒)>:<遅延の上限 (ミリ秒)>

このパラメーターを使用すると、パフォーマンスsandboxは、下限から上限までの範囲でリクエストに遅延をランダムに追加します。

たとえば、waitrangeパラメーターにwaitrange=50:200が設定されている場合、パフォーマンスsandboxは50~200ミリ秒の遅延を各リクエストにランダムに追加します。

紫色のプラス記号 (+) ボタンをクリックし、errorパラメーターとwaitrangeパラメーターを含む新しいリクエストを追加します。

  • リクエストメソッド: GET
  • URL: {{@api.url}}/slow-and-flaky
  • クエリパラメーター: error=400:0.02,429:0.03,500:0.02
  • クエリパラメーター: waitrange=50:300
遅延とエラーを伴うエンドポイントの追加

遅延とエラーを伴うエンドポイントの追加

APIテストエディターの [Save] をクリックし、左上の再生ボタンをクリックしてテストを実行します。

パフォーマンステストの作成

これで、先ほど保存したAPIテストを使用して、API負荷テストを作成できます。

  1. [New test] ボタンをクリックします。
  2. [Performance test] を選択します。
  3. テスト名を指定します。"[tutorial] performance sandbox api load" のように、ワークスペース内の他のテストと区別しやすい名前にします。
  4. [Add functional tests] セクションの [+ API test] ボタンをクリックします。
  5. 先ほど作成したAPIテストを選択します。
  6. [Application and environment] セクションで、「Performance sandbox」アプリケーション、「Demo」環境、API URLを選択します。
  7. [Save] をクリックします。

このチュートリアルでは、簡略化のために、同時接続数とテスト時間についてはデフォルト設定を使用し、失敗条件については省略します。失敗条件、同時接続数、テスト時間など、パフォーマンステストの設定オプションの詳細については、パフォーマンステストセットアップガイドを参照してください。

パフォーマンステストの実行

パフォーマンステストを実行するには、[Run test] ボタンをクリックします。このテストが「Performance sandbox」アプリケーションを使用し、パフォーマンスsandboxのURLがhttp://performance.sandbox.mabl.comであることを確認してください。

[Start 1 run] をクリックすると、API負荷テストが実行されます。

結果の確認

API負荷テストの実行が完了したら、テストステータスをクリックして結果を表示します。パフォーマンステストの出力には、パフォーマンス指標全般を要約するチャートと、各エンドポイントのパフォーマンスの詳細を示す表があります。

パフォーマンステストの出力の表示

パフォーマンステストの出力の表示

このチュートリアルのテスト出力は、APIテストで設定したerrorパラメーターとwaitrangeパラメーターに一致しています。自社のアプリケーションに対してパフォーマンステストを開始する際は、初めてのパフォーマンステストのアプローチに従ってパフォーマンスのベースラインを確立することをお勧めします。

パフォーマンステストの出力の確認の詳細については、こちらのガイドを参照してください。