你当前正在访问 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 负载测试收集有关测试执行的指标。 有两种类型的指标:
客户端指标会显示测试引擎报告的详细信息。 这些指标包括虚拟用户数、请求响应时间、失败的请求数或每秒请求数。
服务器端指标适用于 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 自述文件应包含有关如何向存储库/包提供代码的详细信息。