Autoscale™ 功能的入门指南

Autoscale 是一项功能,可提供一致的、高性能的电源管理解决方案,以根据配置的计划或负载需求主动扩展交付组。

Autoscale 适用于所有类型的交付组:

  • 单会话静态操作系统
  • 单会话随机操作系统
  • 多会话随机操作系统

本文介绍了 Autoscale 的基本概念,并提供了有关如何为交付组启用和配置 Autoscale 的指导。

基本概念

在开始之前,请了解 Autoscale 中的以下基本概念:

资源容量和计算机注册

Autoscale 在确定容量时仅包含已向站点注册的计算机。未注册的已开机计算机无法接受会话请求。因此,它们不包含在交付组的总体容量中。

跨多个计算机目录进行扩展

在某些站点中,多个计算机目录可能与单个交付组关联。Autoscale 会随机从每个目录中启动计算机,以满足计划或会话需求。

例如,一个交付组有两个计算机目录:目录 A 有三台已开机计算机,目录 B 有一台已开机计算机。如果 Autoscale 需要启动一台额外的计算机,它可能会从目录 A 或目录 B 中启动一台计算机。

计算机预配和会话需求

交付组关联的计算机目录必须有足够的计算机,以便在需求增加和减少时进行开机和关机。如果会话需求超过交付组中注册计算机的总数,Autoscale 会确保所有注册计算机都已开机。但是,Autoscale 不会预配额外的计算机

注意:

如果交付组有 63 台计算机,并且在非工作时间设置了 10% 的缓冲区容量,那么根据 Autoscale 的计算,在非工作时间必须开启 6.3 台计算机。为了处理小数,规则如下:

  • 四舍五入:例如,如果值为 6.4,则开启 6 台计算机。如果值为 6.7,则开启 7 台计算机。
  • 对于任何小于 1 的非零值,四舍五入为 1。例如,如果值为 0.2 或 0.9,则开启 1 台计算机。

实例大小注意事项

如果您在公共云中适当调整实例大小,可以优化成本。我们建议您预配较小的实例,只要它们符合您的工作负载性能和容量要求。

较小的实例托管的用户会话少于较大的实例。因此,Autoscale 会更快地将计算机置于耗尽状态,因为最后一个用户会话注销所需的时间更少。结果,Autoscale 会更快地关闭较小的实例,从而降低成本。

计划规则

Autoscale 根据您设置的计划开启和关闭交付组中的计算机。

计划包括每个时间段的活动计算机数量,并定义了高峰和非高峰时间。

计划设置因交付组类型而异。有关详细信息,请参阅:

高峰和非高峰时段

高峰和非高峰时段用于指示在一天中的特定时段使用哪个容量缓冲区值。您可以定义高峰时段,将剩余的未定义时段作为非高峰时段。

关机延迟

关机延迟是指在 Autoscale 关闭计算机之前,计算机开机后必须经过的最短分钟数。这可以防止计算机在会话需求波动期间反复开关机。默认情况下,关机延迟为 30 分钟。您可以将其设置为 0-60 分钟的范围。

池大小

池大小是指在一天中的特定时段必须保持开机状态的计算机数量。

容量缓冲区

容量缓冲区用于在当前需求中添加备用容量,以应对动态负载增加。需要注意以下两种情况:

  • 对于多会话操作系统交付组,容量缓冲区定义为交付组总容量(以负载指数计)的百分比。
  • 对于单会话操作系统交付组,容量缓冲区定义为交付组中计算机总数的百分比。

容量缓冲区是一个滚动缓冲区,因为它根据当前使用情况进行计算和应用,而不是在配置的池大小之上进行计算和应用。

例如,假设一个交付组有 10 台计算机,当前时段的池大小为 1 台计算机,容量缓冲区为 10%。当按计划定义的 1 台已开机计算机的负载达到 10% 容量缓冲区不再满足的程度时,会额外开机一台计算机。如果在第二台计算机开机后负载降低,并且有足够的空闲负载容量来满足 10% 容量缓冲区,则 Autoscale 会准备关闭 1 台计算机。

负载指数

重要提示:

负载指数的适用范围仅限于多会话交付组。

负载指数指标决定了机器接收用户登录请求的可能性。它是使用为并发登录、会话、CPU、磁盘和内存使用情况配置的Citrix 负载管理策略设置计算的。

负载指数范围为 0 到 10,000。默认情况下,当机器托管 250 个会话时,它被视为满载:

  • 数字“0”表示未加载的机器。负载指数值为 0 的机器处于基线负载。

  • 数字“10,000”表示一台满载的机器,无法再运行任何会话。

自动缩放和维护模式

处于维护模式的机器,无论其可用性状态如何,都被视为整体池大小计算的一部分。因此,池中的所有机器都可能处于维护模式。但是,这些机器被排除在容量缓冲区计算之外,确保它们立即可用。为了保证特定百分比的机器可供用户连接,请相应地调整池大小和缓冲区值。

机器成本

每小时机器实例成本是所用计算容量的每小时成本(美元)。此设置用于计算自动缩放设置的成本节省。要查看节省情况,请转到监视 > 趋势 > 机器使用情况

纵向扩展交付组

在以下情况下,自动缩放会启动启用了自动缩放的交付组中的额外机器:

  1. 交付组的自动缩放计划表明,在当前时间段内,需要启动更多计算机。
  2. 交付组上的当前负载已超出容量缓冲区。

启动计算机的条件如下:

  1. 不处于维护模式。
  2. 管理程序不处于维护模式。
  3. 已关机且未注册。
  4. 属于需要进行容量扩展的交付组
  5. 没有待处理的电源操作。

向下扩展交付组

当满足以下条件时,Autoscale 会关闭已启用 Autoscale 的交付组中的计算机:

  1. Autoscale 计划指定必须关闭计算机以满足当前时间段的配置计算机数量。
  2. 交付组的当前负载已降低,导致开机计算机数量超出满足池大小和容量缓冲区所需的数量。

Autoscale 通过关闭超出满足池大小和容量缓冲区所需数量的冗余计算机来缩减交付组。

缩减过程包括两个步骤:

  1. 将所需数量的计算机置于耗尽状态。
  2. 选择所有已耗尽的计算机以进行关机。

符合关机条件的计算机必须满足以下条件:

  1. 未处于维护模式
  2. 管理程序未处于维护模式
  3. 当前已开机
  4. 已注册为可用状态,或在启动后处于等待注册状态
  5. 已排空且没有活动会话
  6. 没有待处理的电源操作
  7. 已满足关机延迟时间要求

排空状态

Autoscale 尝试将交付组中已开机计算机的数量缩减到配置的池大小和容量缓冲区。

为实现此目标,Autoscale 会将会话最少的冗余计算机置于“排空状态”,并在所有会话注销后将其关闭。当会话需求减少且计划所需的计算机数量少于已开机的计算机数量时,就会出现此行为。

机器进行排空的条件如下:

  1. 已开机
  2. 未处于维护模式
  3. 管理程序未处于维护模式
  4. 属于需要进行缩容操作的交付组
  5. 当前活动会话数量最少

注意:

  • 已开机且至少已达到关机延迟所指定时间的机器,将优先进行排空。
  • 处于排空状态的机器不再托管新的会话启动,并等待现有会话注销。只有当所有会话都注销后,机器才会关机。但是,如果没有立即可用于会话启动的机器,Autoscale 倾向于将会话启动定向到处于排空状态的机器,而不是启动一台新机器。

Autoscale 逐一将多余的机器置于“排空状态”:

  • 如果两台或更多机器具有相同数量的活动会话,Autoscale 会排空已通电达到指定的关机延迟时间的机器。

    这样做可以避免将最近启动的机器置于排空状态,因为这些机器更可能拥有最少的会话。

  • 如果两台或更多机器已通电达到指定的关机延迟时间,Autoscale 会随机逐一排空这些机器。

处于排空状态的机器不再托管新的会话启动,并等待现有会话注销。只有当所有会话都注销后,机器才会成为关机候选。但是,如果没有立即可用于会话启动的机器,Autoscale 倾向于将会话启动定向到处于排空状态的机器,而不是启动一台新机器。

当满足以下任一条件时,机器将退出排空状态:

  • 该机器处于关机状态。
  • 机器所属的交付组已禁用 Autoscale。
  • Autoscale 使用该机器来满足计划或负载需求。当计划(基于计划的缩放)或当前需求(基于负载的缩放)所需的机器数量多于当前已通电的机器数量时,就会出现这种情况。

重要提示:

如果没有立即可用于会话启动的机器,Autoscale 倾向于将会话启动定向到处于排空状态的机器,而不是启动一台新机器。托管会话启动的处于排空状态的机器仍将保持排空状态。

要了解哪些机器处于排空状态,请使用 Get-BrokerMachine PowerShell 命令。例如:Get-BrokerMachine -DrainingUntilShutdown $true。或者,您可以使用 Studio。请参阅 显示处于排空状态的机器

显示处于排空状态的机器

注意:

此功能仅适用于多会话计算机。

在 Studio 中,您可以显示处于排空状态的计算机,从而了解哪些计算机即将关闭。请完成以下步骤:

  1. 导航到“搜索”节点,然后单击“要显示的列”。
  2. 在“要显示的列”窗口中,选中“排空状态”旁边的复选框。
  3. 单击“保存”以退出“要显示的列”窗口。

排空状态”列可以显示以下信息:

  • 排空直到关机。 当计算机处于排空状态直到关机时显示。
  • 未排空。 当计算机尚未处于排空状态时显示。

排空状态

为交付组启用 Autoscale

创建交付组时,Autoscale 默认处于禁用状态。要使用 Web Studio 为交付组启用和配置 Autoscale,请按照以下步骤操作:

您还可以使用 PowerShell 命令为交付组启用和配置 Autoscale。有关详细信息,请参阅Broker PowerShell SDK 命令

  1. 在左侧窗格中选择“交付组”。

  2. 选择要管理的交付组,然后单击“管理 Autoscale”。

    云用户界面

  3. 在“管理 Autoscale”页面上,选中“启用 Autoscale”复选框以启用 Autoscale。启用 Autoscale 后,页面上的选项将变为可用。

    云用户界面

  4. 为了根据贵组织的具体需求更改默认设置,请完成以下各项设置:

要禁用 Autoscale,请清除“Autoscale”复选框。页面上的选项将变为灰色,表示所选交付组已禁用 Autoscale。

重要提示:

  • 如果禁用 Autoscale,则 Autoscale 管理的所有计算机将保持禁用时的状态。
  • 禁用 Autoscale 后,处于耗尽状态的计算机将退出耗尽状态。有关耗尽状态的更多信息,请参阅耗尽状态

监视指标

为交付组启用 Autoscale 后,您可以从 Director 监视 Autoscale 管理的计算机的以下指标。

  • 计算机使用情况

  • 预估节省金额

  • 针对计算机和会话的警报通知

  • 机器状态

  • 负载评估趋势

注意:

当您首次为交付组启用 Autoscale 时,可能需要几分钟才能显示该交付组的监控数据。 如果为交付组启用 Autoscale 后又禁用,监控数据仍然可用。Autoscale 以 5 分钟为间隔收集监控数据。

有关指标的更多信息,请参阅 监视 Autoscale 管理的计算机

更多信息

有关自动缩放的更多信息,请参阅技术专区中的 Citrix 自动缩放

Autoscale™ 功能的入门指南