使用自定义指标自动缩放 Web 应用

本文介绍如何在 Azure 门户中使用自定义指标为 Web 应用设置自动缩放。

通过自动缩放,可以添加和删除资源来应对负载的增加和减少。 在本文中,我们将介绍如何使用 Application Insights 指标之一来为 Web 应用设置自动缩放,以便横向缩减和扩展 Web 应用。

注意

只有发布到 Standard 和 Azure.ApplicationInsights 命名空间的指标支持对 Application Insights 中的自定义指标进行自动缩放。 如果任何其他命名空间用于 Application Insights 中的自定义指标,它将返回错误“不受支持的指标”。

Azure Monitor 自动缩放适用于:

先决条件

需要一个具有活动订阅的 Azure 帐户。 可创建试用帐户

概述

若要创建自动缩放的 Web 应用,请执行以下操作:

  1. 如果还没有应用服务计划,请创建一个应用服务计划。 无法为免费层或基本层设置自动缩放。
  2. 如果还没有 Web 应用,请使用服务计划创建一个 Web 应用
  3. 为你的服务计划配置自动缩放

创建应用服务计划

应用服务计划定义要运行 Web 应用的一组计算资源。

  1. 打开 Azure 门户

  2. 搜索并选择“应用服务计划”。

    该屏幕截图显示如何搜索应用服务计划。

  3. 在“应用服务计划”页上,选择“创建”。

  4. 选择一个资源组或新建一个资源组。

  5. 输入你的计划的名称。

  6. 选择操作系统和区域。

  7. 选择 SKU 和大小。

    注意

    不能将自动缩放与免费层或基本层配合使用。

  8. 选择“查看 + 创建”>“创建”。

    该屏幕截图显示“创建应用服务计划”屏幕的“基本信息”选项卡,在该选项卡中可以配置应用服务计划。

创建 Web 应用

  1. 搜索“应用服务”并将其选中。

    该屏幕截图显示如何搜索应用服务。

  2. 在“应用服务”页上,选择“创建”。

  3. 在“基本信息”选项卡上,输入一个名称并选择一个运行时堆栈。

  4. 选择在定义应用服务计划时选择的操作系统和区域。

  5. 选择前面创建的应用服务计划。

  6. 选择“监视”选项卡。

    该屏幕截图显示“创建 Web 应用”页的“基本信息”选项卡,在该选项卡中可以设置 Web 应用。

  7. 在“监视”选项卡上,选择“是”以启用 Application Insights。

  8. 选择“查看 + 创建”>“创建”。

    该屏幕截图显示“创建 Web 应用”页的“监视”选项卡,在该选项卡中可以启用 Application Insights。

配置自动缩放

为应用服务计划配置自动缩放设置。

  1. 在搜索栏中搜索并选择“自动缩放”,或在左侧菜单栏中的“监视”下选择“自动缩放”。

  2. 选择应用服务计划。 只能配置生产计划。

    该屏幕截图显示“自动缩放”页,在该页中可以选择资源来设置自动缩放。

设置横向扩展规则

设置横向扩展规则,以便在 Web 应用的每个实例处理 70 个以上的会话时, Azure 将启动 Web 应用的另一个实例。

  1. 选择“自定义自动缩放”。

  2. 在默认缩放条件的“规则”部分中,选择“添加规则”。

    该屏幕截图显示“自动缩放设置”页,在该页中可以设置基本自动缩放设置。

  3. 从“指标源”下拉列表中,选择“其他资源”。

  4. 从“资源类型”中,选择“Application Insights”。

  5. 从“资源”下拉列表中,选择你的 Web 应用。

  6. 选择一个指标名称,以便基于该指标进行缩放。 例如,使用“会话”。

  7. 选中“启用除以实例数后的指标”复选框,以便测量每个实例的会话数。

  8. 从“运算符”下拉列表中,选择“大于”。

  9. 输入要触发缩放操作的指标阈值。 例如,使用“70”。

  10. 在“操作”下,将“运算”设置为“计数增加”。 将“实例计数”设置为“1”。

  11. 选择 添加

    该屏幕截图显示“扩展规则”页,在该页中可以配置横向扩展规则。

设置横向缩减规则

设置横向扩展规则,以便在 Web 应用的每个实例处理 60 个以下的会话时,Azure 会关闭其中一个实例。 每次运行此规则时,Azure 都会减少实例数,直到达到最小实例数。

  1. 在默认缩放条件的“规则”部分中,选择“添加规则”。

  2. 从“指标源”下拉列表中,选择“其他资源”。

  3. 从“资源类型”中,选择“Application Insights”。

  4. 从“资源”下拉列表中,选择你的 Web 应用。

  5. 选择一个指标名称,以便基于该指标进行缩放。 例如,使用“会话”。

  6. 选中“启用除以实例数后的指标”复选框,以便测量每个实例的会话数。

  7. 从“运算符”下拉列表中,选择“小于”。

  8. 输入要触发缩放操作的指标阈值。 例如,使用“60”。

  9. 在“操作”下,将“运算”设置为“计数减少”,并将“实例计数”设置为“1”。

  10. 选择 添加

    该屏幕截图显示“扩展规则”页,在该页中可以配置横向缩减规则。

限制实例数

  1. 在“实例限制”部分的“最大值”字段中设置可启动的最大实例数。 例如,使用“4”。

  2. 选择“保存” 。

    该屏幕截图显示“自动缩放设置”页,在该页中可以设置实例限制。

清理资源

如果你不打算继续使用此应用程序,请删除资源。

  1. 在应用服务的概述页面上,选择“删除”。

    该屏幕截图显示“应用服务”页,在该页中可以删除 Web 应用。

  2. 在“自动缩放设置”页上的“JSON”选项卡中,选择“自动缩放设置名称”旁边的垃圾桶图标。 请注意,除非删除资源组,否则自动缩放设置不会随应用服务计划一起删除。 如果不删除自动缩放设置,并且重新创建了具有相同名称的应用服务计划,则它将继承原始的自动缩放设置。

  3. 在“应用服务计划”页上,选择“删除”。

    该屏幕截图显示“应用服务”页,在该页中可以删除应用服务计划。

后续步骤

若要了解有关自动缩放的详细信息,请参阅以下文章: