你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 .NET 的 Azure 负载测试客户端库 - 版本 1.0.1

Azure 负载测试向用户提供 .NET 中的客户端库,用户可以通过该库与 Azure 负载测试服务进行本机交互。 Azure 负载测试是一项完全托管的负载测试服务,可用于生成大规模负载。 该服务可以模拟应用程序的流量,且无需其托管位置。 开发人员、测试人员和质量保证 (QA) 工程师可以使用该服务来优化应用程序性能、可缩放性或容量。

源代码 | 包 (NuGet) | API 参考文档 | 产品文档

文档

提供了各种文档来帮助你入门

入门

安装包

使用 NuGet 安装适用于 .NET 的客户端库:

dotnet add package Azure.Developer.LoadTesting

先决条件

必须具有 Azure 订阅Azure 负载测试服务资源。 为了利用 C# 8.0 语法,建议使用 .NET Core SDK 3.0 或更高版本进行编译, 语言版本latest。 还可以使用语言版本的 preview.NET Core SDK 2.1.x 进行编译。

验证客户端

若要使用 Azure Active Directory (AAD) 令牌凭据,请提供从 azure 标识 库获取的所需凭据类型的实例。

若要使用 AAD 进行身份验证,必须先使用 nuget install azure-identity

设置后,可以从 Azure.Identity 中选择要使用的 凭据 类型。

例如,通过 Azure CLI az login 命令登录, DefaultAzureCredential 将以该用户的身份进行身份验证。

使用返回的令牌凭据对客户端进行身份验证。

关键概念

以下组件构成 Azure 负载测试服务。 使用适用于 C# 的 Azure 负载测试客户端库,可以使用客户端与其中每个组件进行交互。 有两个客户端:

  • LoadTestAdministrationClient

  • LoadTestRunClient

这些客户端用于管理和使用服务的不同组件。 对于这两个子客户端中的每个方法,同一类中都有相应的 Async 方法,但具有相同的实现,但启用异步功能。 例如,如果有方法,作为 的LoadTestAdministrationClient一部分,CreateOrUpdateTest则始终在同一客户端类中存在一个函数CreateOrUpdateTestAsync

负载测试管理客户端

客户端 LoadTestAdministrationClient 用于管理和配置负载测试、应用组件和指标。

测试

测试指定测试脚本和配置设置用于运行负载测试。 可以在 Azure 负载测试资源中创建一个或多个测试。

应用组件

为 Azure 托管应用程序运行负载测试时,可以监视不同 Azure 应用程序组件的资源指标(服务器端指标)。 负载测试运行时以及测试完成后,可以在 Azure 负载测试仪表板中监视和分析资源指标。

指标

在负载测试期间,Azure 负载测试收集有关测试执行的指标。 有两种类型的指标:

  1. 客户端指标会显示测试引擎报告的详细信息。 这些指标包括虚拟用户数、请求响应时间、失败的请求数或每秒请求数。

  2. 服务器端指标适用于 Azure 托管应用程序并显示有关 Azure 应用程序组件的信息。 指标可以是数据库读取次数、HTTP 响应类型或容器资源消耗量。

测试运行客户端

客户端 LoadTestRunClient 用于启动和停止与负载测试对应的测试运行。 测试运行表示负载测试的一次执行。 它收集与运行 Apache JMeter 脚本关联的日志、负载测试 YAML 配置、要监视的应用组件列表以及测试结果。

Data-Plane 终结点

Azure 负载测试资源的数据平面可使用以下 URL 格式进行寻址:

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

第一个 GUID 00000000-0000-0000-0000-000000000000 是用于访问 Azure 负载测试资源的唯一标识符。 接下来 aaa 是资源的 Azure 区域。

数据平面终结点是从控制平面 API 获取的。

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

在上面的示例中, eus 表示 Azure 区域 East US

示例

可以使用 示例熟悉不同的 API。

疑难解答

即将推出更多相关信息...

线程安全

我们保证所有客户端实例方法都是线程安全的,并且相互独立, (准则) 。 这可确保重用客户端实例的建议始终是安全的,即使跨线程也是如此。

后续步骤

参考我们的示例帮助自己入门。

供稿

这是一个模板,但 SDK 自述文件应包含有关如何向存储库/包提供代码的详细信息。

其他概念

客户端选项 | 访问响应 | 长时间运行的操作 | 处理失败 | 诊断 | 嘲笑 | 客户端生存期