你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本文中,你将了解如何使用 Azure 负载测试优化 Azure Functions 的性能和成本。 Azure Functions 弹性消耗计划提供灵活性和自定义功能,包括专用网络、快速和大规模横向扩展功能,以及基于无服务器模型的实例内存大小选择。
Azure 负载测试性能优化器工具可通过在不同的 Functions 配置中运行负载测试来帮助确定哪个配置适合你的应用。 该工具可帮助你了解不同配置的性能和成本影响,以帮助做出更明智的决策。
性能优化器支持以下功能:
- 并发测试:可以通过指定具有预期负载的不同内存和 HTTP 并发配置来快速创建和运行测试的上下文中体验。
- 并排比较:通过缩放和并发配置评估负载测试结果中的性能指标,从而帮助你选择正确的配置。
- 指标:基于性能指标确定合适的大小以优化成本。
先决条件
拥有有效订阅的 Azure 帐户。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
弹性消耗计划中的函数应用,至少具有一个带 HTTP 触发器的函数。 如果需要创建函数应用,请参阅在弹性消耗计划中创建和管理函数应用。
要运行测试配置文件,Azure 帐户必须对应用具有以下权限:
- Microsoft.Web/sites/read
- Microsoft.Web/sites/write
- Microsoft.Web/sites/slots/read
- Microsoft.Web/sites/slots/write。默认情况下,网站参与者角色已具有这些权限。
在 Azure Functions 上运行性能优化器
通过性能优化器,可以测试不同的配置,以帮助你找到性能与成本的正确平衡。 例如,可以测试 Functions 应用的实例大小和 HTTP 并发量等指标。 性能优化器使用 Azure 负载测试来帮助确定应用的最佳配置,以实现性能和可伸缩性。 可以使用 HTTP 触发器对函数运行性能优化器。 将代码部署到 Azure Functions 后,使用以下步骤运行优化器。
登录到 Azure 门户。
转到托管在弹性消耗计划上的 Functions 应用。
在应用的“性能”部分中,选择“性能优化器”。
如果订阅中没有 Azure 负载测试资源,请选择“创建负载测试资源”来创建一个。
创建测试配置文件
测试配置文件描述了函数应用配置、请求详细信息和负载配置。 对于每个 Functions 应用配置,将使用指定的负载运行负载测试。 可以按照以下步骤创建测试配置文件:
选择“创建测试配置文件”以创建新的测试配置文件。
在“配置文件配置”选项卡上,首先输入测试详细信息:
字段 DESCRIPTION 负载测试资源 选择负载测试资源。 测试配置文件名称 输入唯一的测试配置文件名称。 测试配置文件说明 (可选)输入测试配置文件说明。 创建后运行测试 选择后,测试配置文件会在创建测试后自动启动。 在“Functions 配置”部分中,选择要测试的 Functions 应用配置。 可以选择实例内存大小和 HTTP 并发。 最多可以选择 10 个内存和并发组合。
注释
测试配置文件运行启动后,将直接对应用进行配置更改。 函数应用将针对指定的每个组合重启,并针对应用运行负载测试。
在“请求详细信息”部分中,输入函数应用的请求详细信息。 可以指定请求方法、URL 和标头。
选择“添加请求”,以将 HTTP 请求添加到负载测试。
在“添加请求”页上,输入请求的详细信息:
字段 DESCRIPTION 请求名称 负载测试中用于标识请求的唯一名称。 定义测试条件时,可以使用此请求名称。 函数名 选择要进行测试的函数 密钥 选择访问函数所需的密钥 HTTP 方法 从列表中选择 HTTP 方法。 Azure 负载测试支持 GET、POST、PUT、DELETE、PATCH、HEAD 和 OPTIONS。 查询参数 (可选)输入要追加到 URL 的查询字符串参数。 标题 (可选)输入要包含在 HTTP 请求中的 HTTP 标头。 正文 (可选)根据 HTTP 方法,可以指定 HTTP 正文内容。 Azure 负载测试支持以下格式:原始数据、JSON 视图、JavaScript、HTML 和 XML。 选择“加载配置”选项卡,配置负载测试的负载参数。
字段 DESCRIPTION 引擎实例 输入负载测试引擎实例的数量。 负载测试在所有引擎实例之间并行运行。 负载模式 选择负载模式(线性、阶跃、尖峰),以提升到虚拟用户的目标数量。 每个引擎的并发用户数 输入要在每个测试引擎上模拟的虚拟用户数。 负载测试的虚拟用户总数为:测试引擎数 * 每个引擎的用户数。 测试持续时间(分钟) 输入负载测试的持续时间(以分钟为单位)。 爬坡时间(分钟) 输入负载测试的爬坡时间(以分钟为单位)。 提升时间是达到虚拟用户目标数量的时间。 如果函数应用不可公开访问,则可以选择配置网络设置。
详细了解负载测试专用托管终结点。
选择“查看 + 创建”以查看测试配置文件配置。
选择“创建”以创建测试配置文件。 Azure 负载测试现在将创建测试配置文件。
如果之前选择了“创建后运行测试”,则测试配置文件会自动启动。
测试配置文件运行完成后,Functions 应用将还原为原始配置。
查看结果
测试配置文件运行完成后,可以在 Azure 门户中查看结果。 测试配置文件运行包含每个 Functions 应用配置的负载测试运行。 结果包括性能指标,例如每个函数应用配置的响应时间、吞吐量和错误率。 可以比较不同配置的性能指标,并为应用选择正确的配置。 确定最佳配置后,选择“应用”以将缩放和并发设置应用到 Functions 应用。
后续步骤
- 了解有关对 Azure Functions 进行负载测试的详细信息。
- 了解如何监视服务器端应用程序指标。