为托管实例组应用容量建议

本页面介绍如何查看和应用 Compute Engine 针对托管实例组提供的容量建议。

Compute Engine 提供机器类型方面的建议,帮助您优化托管实例组的资源利用率。采用这些建议可调整组中实例的机器类型的容量,以更有效地利用该机器类型的资源。这些建议根据 Google Stackdriver Monitoring 服务收集的系统指标自动生成。要详细了解虚拟机实例可用的各种容量选项,请阅读机器类型文档。

此功能也称为“合理容量建议”。

准备工作

限制

建议适用于单地区的非自动调节、非负载平衡的托管实例组。

价格

使用测试版期间,用户可以免费获得容量建议。但 Google 可能在将来的版本中针对此功能收费。

用于容量建议的指标

Compute Engine 会监控正在运行的虚拟机的 CPU 和内存利用率,并基于最近 8 天的数据提出建议。为了向托管实例组中的所有实例建议最佳的单个机器类型,Compute Engine 会针对各个实例生成标准的容量建议,并在调整离群值后,选择一个不会造成任何虚拟机实例容量不足的机器类型。任何未运行的实例(例如已停止或正在重启的虚拟机实例)均不纳入计算。

在下列情况下,Compute Engine 可能会提出建议:

  • 在大多数情况下,实例组的 CPU 利用率较低。Compute Engine 将建议使用虚拟 CPU 更少的机器类型。
  • 在大多数情况下,实例组的 CPU 利用率较高。Compute Engine 将建议使用虚拟 CPU 更多的机器类型。
  • 实例组尚未使用其大部分内存。Compute Engine 将建议使用内存较少的机器类型。
  • 在大多数情况下,实例组都在频繁使用大部分内存。Compute Engine 将建议使用内存较多的机器类型。

Compute Engine 可能建议使用标准或自定义的机器类型。请注意,可供机器使用的内存容量和 vCPU 数量受限制。具体而言,要增加一个资源,可能需要同时增加另一个资源,这样才能符合有效机器类型的规范。此外,Compute Engine 仅建议实例当前运行的地区中所提供的机器类型。

请参阅自定义机器类型规范了解详情。

如果托管实例组的工作负载在各实例间的分布十分不均,按照建议,为了使资源利用率极高的实例获得足够的资源,可能会导致对某些实例分配过多容量。例如,Compute Engine 可能提出以下建议来支持实例 4 的工作负载,即使这将导致实例 1、2、3 和 5 容量过大,未得到充分利用:

针对托管实例组的建议

因此,当实例具有合理分布的工作负载时,针对托管实例组的建议最有效。

在预估费用差异方面,实例组的费用基于前一周的使用量(未享有持续使用折扣),且推断为 30 天的费用。然后,将其与建议的机器类型的每月费用(未享有持续使用折扣)进行比较。要了解准确的价格和详细信息,请阅读价格文档

适合容量建议的工作负载

如果您有以下工作负载,就可利用容量建议:

  • 流量定期增减的工作负载,例如易受季节性流量影响的工作负载。
  • 由于受到读写吞吐量等其他限制,其 CPU 和 RAM 未得到充分利用的工作负载。
  • 运行需要单独软件许可的软件且无法承担添加更多实例的工作负载;在此情况下,您可依赖容量建议来扩缩资源,同时保持虚拟机实例数量不变。
  • 无法动态适应实例数量不断变化的工作负载,例如不太适合自动扩缩的工作负载。

在下列情况下,您可能不希望使用容量建议:工作负载出现峰值的频率非常低,无法及时生成实用的建议;或者在您的托管实例组中,每个实例处理的工作负载相差迥异,产生的建议会导致组中的大部分虚拟机实例容量过大。

查看容量建议

Compute Engine 通过 Google Cloud Platform Console 提出建议。建议默认会启用;如果您需要打开或关闭建议,请按照以下说明操作。

  1. 转到“实例组”页面。

    转到“实例组”页面

  2. 选择您的项目并点击继续
  3. 查看建议列,了解针对各托管实例组的建议。您还可以按预估节省金额对列排序。如果实例组旁边没有任何建议,则表示 Compute Engine 未提出任何建议。

    建议列

  4. 如果您的实例组有两个实例模板,Compute Engine 将针对每个实例模板提供建议。点击某条建议可查看针对相应实例模板的建议。

    针对多个模板的建议

创建新的托管实例组时,针对新组的建议将在实例创建后 24 小时显示。

之后,建议会在一天中定期更新。

向实例组应用建议

若想应用 Compute Engine 提出的建议,您可直接在建议界面调整组中实例的容量。

向托管实例组应用建议时,Compute Engine 将执行以下操作:

  1. 克隆托管实例组使用的实例模板。
  2. 根据建议和您所作的任何更改来修改克隆的实例模板。
  3. 使用托管实例组更新程序来应用新模板。如果实例组具有两个实例模板,则遵循以下要求:

    1. 一次只能应用对一个实例模板的建议。
    2. 一个托管实例组一次最多可维护两个实例模板,因此无法在维护另外两个实例模板的同时应用建议。但是,如果实例组只有一个实例模板,则您可以应用建议。

要应用建议,请执行以下操作:

  1. 在“实例组”实例页面上,点击要更新的实例组的建议文本。

    选择一个建议列

  2. 弹出窗口会显示更多详细信息,以及可用于取消忽略建议继续的选项。要查看和应用建议,请点击继续

  3. 下一屏幕上详细介绍了此建议。如果您继续应用建议,Compute Engine 将创建一个新的实例模板,并更新实例组中的所有实例,令其使用新模板。

  4. (高级)如果要自定义向实例部署新模板的方式,请点击自定义部署。随即出现一个新的屏幕。

    1. 模板下,您可选择是将新模板应用到实例组中的全部实例还是仅应用到一部分实例。
    2. 在“更新”模式下,您可进行以下选择:Compute Engine 将主动删除实例并使用新实例模板创建新的实例(主动);或者 Compute Engine 仅在通过其他方式(例如调整容量)创建实例或向组添加新实例时才应用更新(只在最佳时机)。
    3. 超额配置的实例数上限下,您可选择要创建多少个超过托管实例组目标容量的临时超额实例。您允许的实例越多,更新速度就越快,只是必须额外创建实例。系统默认会额外创建 1 个实例。
    4. 不可用的实例数上限下,您可选择在此更新期间一次允许多少个实例离线。此数量也包含由于其他原因而不可用的任何实例。例如,如果正在增加实例组的容量,则正在创建中的实例可能不可用,这些实例将计入此数量中。默认值为一次只能有 1 个实例不可用。
    5. 最短等待时间下,您可选择在将新创建的实例标记为“已更新”之前需等待的时间(以秒为单位)。自运行状态检查成功完成后开始计时。此功能可用于控制实例模板的应用速率。
  5. 点击“保存”按钮以应用更改。

  6. 准备就绪后,点击“部署”以部署更改。

忽略建议

如果您已完成建议,则可以忽略建议。如果忽略建议,则将从预估节省总额中移除建议,并且还会将建议变成灰色,让建议最小化显示。

预估节省额
预估节省总额

要忽略一条建议,请执行以下操作:

  1. 在“实例组”页面上,点击要忽略的建议文本。
  2. 弹出窗口会显示更多详细信息,以及一个忽略建议按钮。
  3. 点击忽略建议

要忽略所有建议,请点击“实例组”页面上的“全部忽略”按钮。

忽略建议

要恢复建议,请执行以下操作:

  1. 在“实例组”页面上,点击要恢复的灰显建议文本。

    已忽略的建议

  2. 弹出窗口会显示更多详细信息,以及一个恢复建议按钮。

  3. 点击恢复建议

使用 Monitoring 代理获取更精确的建议

Stackdriver 提供了 Monitoring 代理,可用于从虚拟机实例收集额外的磁盘、CPU、网络和进程指标。您可以在虚拟机实例上安装 Monitoring 代理,这样此代理就可以访问系统资源和应用服务,以收集此数据。

如果虚拟机实例上已安装且正在运行 Monitoring 代理,则此代理收集的 CPU 和内存指标会自动用于计算容量建议。与默认的 Compute Engine 指标相比,Monitoring 代理提供的代理指标可让您更好地了解实例的资源利用率。这样,建议引擎就能更好地预估资源需求并提出更精确的建议。

要安装代理,请参阅安装 Monitoring 代理

反馈

使用测试版期间,您可以用电子邮件向容量建议讨论组发送反馈。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档