重要
自动缩放仅在 Azure WebPubSub 服务高级层中可用。
Azure WebPubSub 服务高级层支持自动缩放功能,该功能是 Azure Monitor 自动缩放的一种实现。 使用自动缩放功能可以自动缩放 WebPubSub 服务的单位计数,以便与服务上的实际负载匹配。 自动缩放可以帮助优化应用程序的性能和成本。
Azure WebPubSub 添加了自身的服务指标。 但是,大多数用户界面是共享的,对于其他支持自动缩放的 Azure 服务是通用的。 如果你不熟悉 Azure Monitor 指标主题,请在深入了解 WebPubSub 服务指标之前先查看 Azure Monitor 指标聚合和显示说明。
了解 WebPubSub 服务中的自动缩放功能
自动缩放允许设置条件,用于在运行服务时动态更改分配给 WebPubSub 服务的单位数。 自动缩放条件基于指标,例如“服务器负载”。 还可以将自动缩放配置为按计划运行,例如每天在特定时段内运行。
例如,可以使用自动缩放来实现以下缩放方案。
- 当“连接配额利用率”超过 70% 时增加单位数。
- 当“服务器负载”低于 20% 时减少单位数。
- 创建一个计划,以在高峰期增加单位数,并在下班时间减少单位数。
多种因素会影响 WebPubSub 服务的性能。 没有任何一个指标可以提供系统性能的完整视图。 例如,如果要发送大量消息,则即使连接配额相对较低,也可能需要横向扩展。 “连接配额利用率”和“服务器负载”的组合指示了整个系统负载。 以下准则适用。
- 如果连接数超过 80%-90%,则进行横向扩展。 在连接数耗尽之前进行横向扩展,可以确保留出足够的缓冲,以便在横向扩展生效之前接受新的连接。
- 如果 服务器负载 超过 80%–90%,则进行横向扩展。 尽早扩展可确保服务有足够的容量用于在横向扩展操作期间保持性能。
自动缩放操作通常在触发后的 3-5 分钟生效。 重要的是不要过于频繁地更改单位数。 一条很好的经验法则是,在完成上一次自动缩放后等待 30 分钟,然后再执行下一次自动缩放操作。 在某些情况下,您可能需要通过反复尝试来找到最优的自动缩放间隔。
自定义自动缩放设置
打开自动缩放设置页:
转到 Azure 门户。
打开 WebPubSub 服务页面。
在左侧菜单的 设置 下,选择 横向扩展。
选择“配置”选项卡。如果你有高级层 WebPubSub 实例,将看到“选择如何缩放资源”的两个选项:
- 手动缩放,可让您手动更改单位数量。
- 自定义自动缩放:可以根据指标和/或计划创建自动缩放条件。
选择“自定义自动缩放”。 使用此页管理 Azure WebPubSub 服务的自动缩放条件。
默认缩放条件
首次打开自定义自动缩放设置时,会看到系统已经为你创建了“默认”缩放条件。 当其他缩放条件都不符合为其设置的判定条件时,将执行此缩放条件。 无法删除“默认”条件,但可以将它重命名、更改规则以及更改自动缩放执行的操作。
无法将默认条件设置为在特定日期或日期范围自动缩放。 默认条件仅支持在一个单位范围内缩放。 若要根据计划缩放,需要添加新的缩放条件。
在选择“自定义自动缩放”之后首次保存默认条件之前,自动缩放不会生效。
添加或更改比例条件
可以使用两个选项来缩放 Azure WebPubSub 资源:
- 基于指标缩放 - 根据动态指标在单位限制内进行缩放。 已定义一条或多条缩放规则,用于设置评估该指标所依据的标准。
- 扩展到指定单位数 - 根据日期范围或定期计划,将数量扩展到指定的单位数。
基于指标缩放
以下过程演示如何添加条件,以在“连接配额利用率”超过 70% 时增加单位数(横向扩展),在“连接配额利用率”小于 20% 时减少单位数(横向缩减)。 增减操作在可用单位之间进行。
在“横向扩展”页面上,为“选择如何缩放资源”选项选择“自定义自动缩放”。
为 缩放模式 选择 基于指标缩放。
选择 + 添加规则。
在缩放规则页面上,执行以下步骤:
- 从“指标名称”下拉列表中选择指标。 在此示例中,它即为连接配额利用率。
- 选择运算符和阈值。 在此示例中,对于触发缩放操作的指标阈值,它们分别是大于和70。
- 在“操作”部分中选择一个 操作项。 在此示例中,其设置为 Increase。
- 然后,选择 添加
再次选择“+ 添加规则”,然后在“缩放规则”页上执行以下步骤 :
- 从“指标名称”下拉列表中选择指标。 在此示例中,即为连接配额利用率。
- 选择运算符和阈值。 在此示例中,触发缩放操作的指标阈值为 小于 和 20。
- 在 操作 部分中选择一项 操作。 在此示例中,设置为 Decrease。
- 然后,选择“添加”
设置最小、最大和默认单位数。
在工具栏上选择“保存”,保存自动缩放设置。
缩放到特定单元
按照以下步骤将规则配置为缩放到特定的单位范围。
- 在“横向扩展”页上,为“选择缩放资源方式”选项选择“自定义自动缩放”。
- 为“缩放模式”选择“缩放到特定单位”。
- 对于单位,请选择默认单位的数量。
添加更多条件
上一部分介绍了如何为自动缩放设置添加默认条件。 该部分说明如何将更多条件添加到自动缩放设置。
- 在横向扩展页面上,对于选择资源缩放方式选项,选择自定义自动缩放。
- 在 默认 块下,选择 添加缩放条件。
- 确认已选择基于指标的缩放选项。
- 选择“+ 添加规则”以添加以下规则:在连接配额利用率超过 70% 时增加单元数。 执行默认条件部分中的步骤。
- 设置最大单元数和最小单元数,以及默认单元数。
- 可以针对自定义条件(而不是默认条件)设置计划。 可以为条件指定开始日期和结束日期(或)选择一周中的特定日期(星期一、星期二等)。
- 如果选择“指定开始/结束日期”,则选择“时区”、“开始日期和时间”和“结束日期和时间”(如下图所示)以使条件生效 。
- 如果选择“重复特定日期”,则选择应用该条件的星期、时区、开始时间和结束时间。
后续步骤
有关使用 Azure CLI 管理自动缩放的详细信息,请参阅 az monitor autoscale。