.NET 用 Azure Load Testing クライアント ライブラリ - バージョン 1.0.1

Azure Load Testing は、.NET のクライアント ライブラリをユーザーに提供します。これにより、ユーザーは Azure Load Testing サービスとネイティブに対話できます。 Azure Load Testing は、大規模な負荷を生成できるフル マネージドのロード テスト サービスです。 サービスは、アプリケーションがどこにホストされているかにかかわらず、そのトラフィックをシミュレートします。 開発者、テスト担当者、品質保証 (QA) エンジニアは、それを使って、アプリケーションのパフォーマンス、スケーラビリティ、または容量を最適化できます。

ソースコード | パッケージ (NuGet) | API リファレンス ドキュメント | 製品ドキュメント

ドキュメント

作業の開始に役立つさまざまなドキュメントが用意されています

作業の開始

パッケージをインストールする

NuGet を使用して .NET 用のクライアント ライブラリをインストールします。

dotnet add package Azure.Developer.LoadTesting

前提条件

Azure サブスクリプションAzure Load Test Service リソースが必要です。 C# 8.0 構文を利用するには、 の言語バージョンlatest.NET Core SDK 3.0 以降を使用してコンパイルすることをお勧めします。 の言語バージョン previewを使用して.NET Core SDK 2.1.x でコンパイルすることもできます。

クライアントを認証する

Azure Active Directory (AAD) トークン資格情報を使用するには、azure-identity ライブラリから取得した目的の資格情報の種類のインスタンスを指定します。

AAD で認証するには、まず nuget インストールを使用する必要があります azure-identity

セットアップ後、使用する Azure.Identity から 資格情報 の種類を選択できます。

たとえば、Azure CLI az login コマンドを使用してサインインすると、 DefaultAzureCredential がそのユーザーとして認証されます。

返されたトークン資格情報を使用してクライアントを認証します。

主要な概念

次のコンポーネントは、Azure Load Testing サービスを構成します。 C# 用 Azure Load Test クライアント ライブラリを使用すると、クライアントを使用してこれらの各コンポーネントと対話できます。 次の 2 つのクライアントがあります。

  • LoadTestAdministrationClient

  • LoadTestRunClient

これらのクライアントは、サービスのさまざまなコンポーネントの管理と使用に使用されます。 これらのサブクライアントの両方のメソッドごとに、同じクラスに対応する Async メソッドがあり、同じ実装では非同期機能が有効になります。 たとえば、 の一部LoadTestAdministrationClientとして メソッドがある場合、CreateOrUpdateTest常に同じクライアント クラスにもう 1 つの関数CreateOrUpdateTestAsyncが存在します。

ロード テスト管理クライアント

クライアントは LoadTestAdministrationClient 、ロード テスト、アプリ コンポーネント、メトリックの管理と構成に使用されます。

テスト

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

アプリ コンポーネント

Azure でホストされるアプリケーションに対してロード テストを実行すると、さまざまな Azure アプリケーション コンポーネント (サーバー側のメトリック) のリソース メトリックを監視できます。 ロード テストの実行中、そしてテストの完了後に、Azure Load Testing ダッシュボードでリソース メトリックを監視および分析できます。

メトリック

ロード テストでは、Azure Load Testing によってテストの実行に関するメトリックが収集されます。 メトリックには、次の 2 種類があります。

  1. クライアント側のメトリックでは、テスト エンジンによって報告された詳細が表示されます。 これらのメトリックには、仮想ユーザーの数、要求の応答時間、失敗した要求の数、1 秒あたりの要求数が含まれます。

  2. Azure でホストされるアプリケーションでは、サーバー側のメトリックを使用して、Azure アプリケーション コンポーネントに関する情報を提供できます。 メトリックは、データベースの読み取りの数、HTTP 応答の種類、またはコンテナー リソースの消費量に対して指定できます。

テスト実行クライアント

クライアントは LoadTestRunClient 、ロード テストに対応するテスト実行を開始および停止するために使用されます。 テストの実行は、1 回のロード テストの実行を表します。 Apache JMeter スクリプトの実行に関連付けられているログ、ロード テストの YAML 構成、監視するアプリ コンポーネントの一覧、テストの結果を収集します。

Data-Plane エンドポイント

Azure Load Testing リソースのデータ プレーンは、次の URL 形式を使用してアドレス指定できます。

00000000-0000-0000-0000-000000000000.aaa.cnt-prod.loadtesting.azure.com

最初の GUID 00000000-0000-0000-0000-000000000000 は、Azure Load Testing リソースへのアクセスに使用される一意の識別子です。 その後に、リソースの Azure リージョンが続きます aaa

データ プレーン エンドポイントは、コントロール プレーン API から取得されます。

例:1234abcd-12ab-12ab-12ab-123456abcdef.eus.cnt-prod.loadtesting.azure.com

上記の例では、 eus は Azure リージョン East USを表しています。

サンプルを使用すると、さまざまな API について理解できます。

トラブルシューティング

詳細については、近日公開予定です...

スレッド セーフ

すべてのクライアント インスタンス メソッドがスレッド セーフであり、相互に独立していることを保証します (ガイドライン)。 これにより、クライアント インスタンスの再利用に関する推奨事項は、スレッド間でも常に安全になります。

次の手順

サンプルを使用して作業を開始します。

共同作成

これはテンプレートですが、SDK readme には、リポジトリ/パッケージにコードを投稿する方法の詳細を含める必要があります。

その他の概念

クライアント オプション | 応答 | へのアクセス実行時間の長い操作 | エラーの | 処理診断 | あざける | クライアントの有効期間