Azure Load Testing リソースでロード テストを作成する

テストは、ロード テストを実行するためのテスト スクリプトと構成設定を指定します。 Azure Load Testing リソースに 1 つ以上のテストを作成できます。

ロード テストの構成は、次のもので構成されます。

Azure Load Testing では、ロード テストの作成とファイルのアップロードは分離されており、個別の API 操作です。 このセクションでは、ロード テストの作成に関連する手順を示します。

  1. ここで説明されているように、Azure Load Testing リソースのエンドポイントまたはデータ プレーン URI を取得します。

  2. 新しいテストを作成する

    PATCH https://{Endpoint}/tests/{testId}?api-version=2022-11-01
    

    この署名を使用して要求を行うクライアントの場合、 ロード テスト管理 - テストの作成または更新 操作が実行されます。

    このシグネチャを使用して行われた要求に対する正常な応答は、次のようになります。

    {
      "description": "sample description",
      "displayName": "Performance_LoadTest",
      "loadTestConfiguration": {
        "engineInstances": 6,
        "splitAllCSVs": true
      },
      "passFailCriteria": {
        "passFailMetrics": {
          "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": {
            "clientMetric": "response_time_ms",
            "aggregate": "percentage",
            "condition": ">",
            "value": 20,
            "action": "continue"
          }
        }
      },
      "secrets": {
        "secret1": {
          "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827",
          "type": "AKV_SECRET_URI"
        }
      },
      "environmentVariables": {
        "envvar1": "sampletext"
      },
      "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0",
      "keyvaultReferenceIdentityType": "UserAssigned",
      "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename"
    }
    

    これにより、テスト名、説明、シークレット、環境変数、エンジン数、合格/不合格条件などのテストの詳細が更新されます。

  3. 作成したテストにファイルをアップロードする

    PUT https://{Endpoint}/tests/{testId}/files/{fileName}?api-version=2022-11-01
    

    又は

    PUT https://{Endpoint}/tests/{testId}/files/{fileName}?fileType={fileType}&api-version=2022-11-01
    

    この署名を使用して要求を行うクライアントの場合、 ロード テスト管理 - テスト ファイルのアップロード 操作が実行されます。

    各 PUT 呼び出しは、アップロードするファイルを 1 つだけサポートします。 同じ呼び出しで複数のファイルがアップロードされた場合、最初のファイルを除くすべてのファイルが破棄されます。 要件によっては、JMXスクリプト、ZIPファイル、CSVファイル、user.propertiesなど、それぞれに1つずつ複数の呼び出しを行う必要がある場合があります。

    アップロードされたJMXファイルは、XML規範に準拠し、有効なJMeterスクリプトであるかどうかが検証されます。 validationStatus フィールドには、検証のステータスが表示されます。 JMeter がエラーなしで JMX スクリプトを受け入れることができれば、そのスクリプトは「VALIDATION_SUCCESS」と見なされ、ファイルはロード テストに正常に関連付けられます。 それ以降のすべてのテスト実行では、このファイルが使用されます。

    このシグネチャを使用して行われた要求に対する正常な応答は、次のようになります。

        {
      "url": "https://dummyurl.com/testscriptresource",
      "fileName": "sample.jmx",
      "fileType": "ADDITIONAL_ARTIFACTS",
      "expireDateTime": "2021-12-05T16:43:46.072Z",
      "validationStatus": "VALIDATION_SUCCESS"
    }
    
  4. 次の手順を使用して、サーバー側のメトリックを監視するためのテストでアプリ コンポーネントを構成します。

    PATCH https://{Endpoint}/tests/{testId}/app-components?api-version=2022-11-01
    

    この署名を使用して要求を行うクライアントの場合、 ロード テスト管理 - アプリ コンポーネントの作成または更新 操作が実行されます。 要求本文には、testId または testRunId を含める必要があります。

    このシグネチャを使用して行われた要求に対する正常な応答は、次のようになります。

        {
      "testId": "12345678-1234-1234-1234-123456789012",
      "components": {
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": {
          "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource",
          "resourceType": "microsoft.insights/components",
          "resourceName": "appcomponentresource",
          "displayName": "Performance_LoadTest_Insights",
          "resourceGroup": "samplerg",
          "subscriptionId": "00000000-0000-0000-0000-000000000000",
          "kind": "web"
        }
      },
      "createdDateTime": "2021-12-05T16:43:46.072Z",
      "createdBy": "user@contoso.com",
      "lastModifiedDateTime": "2021-12-05T16:43:46.072Z",
      "lastModifiedBy": "user@contoso.com"
    }