Compute Engine 会提供机器类型建议,以帮助优化虚拟机实例的资源利用率。这些建议是根据 Cloud Monitoring 服务在过去 8 天中收集的系统指标自动生成的。请采用这些建议来调整实例机器类型的容量,以更加有效地利用实例的资源。此功能也称为“合理容量建议”。
如需详细了解虚拟机实例的可用机器类型,请参阅机器类型文档。
准备工作
- 阅读 Google Cloud 控制台文档。
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 使用 App Engine 柔性环境、Dataflow、Google Kubernetes Engine 或 Dataproc 创建的虚拟机实例
- 具有临时磁盘、GPU 或 TPU 的虚拟机实例
- 内存优化机器系列中的虚拟机实例
- 很少出现峰值(例如,每月出现一次峰值)的工作负载,因为 8 天的数据不足以捕获或预测 CPU 波动。
- 具有极短 CPU 峰值的工作负载,因为建议是基于 CPU 平均利用率(以 60 秒为时间间隔)生成的。系统生成建议的速度可能不够快,无法捕获较短的峰值。如需了解详情,请参阅机器类型建议的工作原理。
如果在大部分时间实例的 CPU 利用率都处于较低状态,则 Compute Engine 会建议使用虚拟 CPU 数量较少的机器类型。
如果在大部分时间实例的 CPU 利用率都处于较高状态,则 Compute Engine 会建议使用虚拟 CPU 数量较多的机器类型。
如果实例未曾用到大部分内存,则 Compute Engine 会建议使用内存较小的机器类型。
如果大部分时间内实例都在主动使用其大部分内存,则 Compute Engine 会建议使用内存较大的机器类型。
在 Google Cloud 控制台中,转到虚拟机实例页面。
查看建议列,了解针对各个实例的建议。您还可以按预估节省金额对列排序。如果实例旁边没有任何建议,则表示 Compute Engine 未生成任何建议。
PROJECT_ID
:您的项目的 ID。ZONE
:包含要为其列出建议的实例的可用区。FORMAT
:您的首选输出格式。csv
、diff
、get
、table
和value
需要非空投影。
name
:建议的名称。description
:用户易于阅读的建议说明。operationGroups
:可按顺序执行以应用建议的若干组操作。name
:建议的名称。description
:用户易于阅读的建议说明。operationGroups
:可按顺序执行以应用建议的若干组操作。在 Google Cloud 控制台中,转到虚拟机实例页面。
如果存在针对实例的建议,则相应建议会出现在建议列中。
点击您要调整大小的实例的建议文本。
系统会打开一个对话框,其中包含建议的相关信息。如需应用建议并更改虚拟机机器类型,请点击应用。Compute Engine 会停止实例,更改其机器类型,然后重启实例。
您还可以选择点击自定义链接,以按照自己的喜好自定义实例。
点击应用按钮以应用更改。
在 Google Cloud 控制台中,前往虚拟机实例页面。
如果存在针对实例的建议,则相应建议会出现在建议列中。
点击您要忽略的建议的建议文本。
系统会打开一个对话框,其中包含更多详细信息和忽略建议按钮。
点击忽略建议。
在 Google Cloud 控制台中,前往虚拟机实例页面。
点击全部忽略按钮。
在 Google Cloud Console 的虚拟机实例页面上,点击要恢复的灰显建议文本。
系统会打开一个对话框,其中包含更多详细信息和恢复建议按钮。
点击恢复建议。
- 详细了解如何针对实例更改机器类型。
- 详细了解停止实例时发生的情况。
- 了解如何将机器类型建议应用于托管式实例组。
- 参阅 Google Cloud Console 文档。
- 详细了解 Recommender 及其 API。
- 详细了解机器类型建议的数据分析。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
价格
机器类型容量建议是免费提供的。如果您应用建议以调整实例的机器类型容量,则需要为您选择的机器类型付费。
限制和用例
在以下情况下,不提供机器类型建议:
建议算法适用于遵循每周模式的工作负载、在数周时间内增长或缩减的工作负载、持续未充分利用其资源的工作负载,或由于资源不足持续受到限制的工作负载。在这些情况下,8 天的历史数据足以预测如何调整机器容量来提高资源利用率。
机器类型建议算法不太适合以下工作负载:
对于相较于性能更注重成本的工作负载(例如批处理工作负载),您可以忽略增加容量的建议。
在极少数情况下,您在应用建议时可能会看到错误消息。 例如,建议的机器类型可能对于挂接的磁盘数量而言太小,可能无法满足映像或许可的资源要求,或者可能在特定地区中不可用。
如果预估节省的费用低于 10 美元/月,我们也不会显示建议。
机器类型建议的工作原理
Compute Engine 会监控正在运行的虚拟机的 CPU 和内存利用率,并基于最近 8 天的数据生成建议。 Compute Engine 会生成如下建议:
Compute Engine 可能会建议使用标准或自定义机器类型。请注意,可供机器使用的内存容量和 vCPU 数量存在限制。具体而言,要增加一个资源,可能需要同时增加另一个资源,这样才能符合有效机器类型的规范。此外,Compute Engine 仅建议使用在运行实例的地区提供的机器类型。
请参阅自定义机器类型规范了解详情。
在预估费用差异方面,实例的费用基于前一周的使用情况(享受持续使用折扣前),且推断为 30 天的费用。然后,将其与建议的机器类型的每月费用(未享有持续使用折扣)进行比较。如需了解准确的价格和详细信息,请阅读价格文档。
建议是通过基于机器可用的指标监控 CPU 和内存利用率生成的。为了提高建议的准确性,请考虑安装 Monitoring 代理。
查看机器类型建议
Compute Engine 通过 Google Cloud 控制台提供建议。您还可以使用 gcloud CLI 或 REST 通过 Recommender 获取建议。
控制台
gcloud
使用
gcloud recommender recommendations list
命令并指定虚拟机实例合理容量 Recommender。gcloud recommender recommendations list \ --recommender=google.compute.instance.MachineTypeRecommender \ --project=PROJECT_ID \ --location=ZONE \ --format=[config | csv | default | diff | flattened | get | json | list | object | table | text | value | yaml]
替换以下内容:
gcloud recommender recommendations list
命令的输出包含以下字段:如需了解详情,请参阅 Recommender 文档。
REST
将 Recommender API 与虚拟机实例合理容量 Recommender ID 搭配使用。
PROJECT_ID=my-project LOCATION=us-central1-c RECOMMENDER_ID=google.compute.instance.MachineTypeRecommender curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations
响应包括以下字段:
如需了解详情,请参阅 Recommender 文档。
创建实例后 24 小时内,系统会显示针对该实例的建议。如果实例的机器类型发生更改,则 Compute Engine 会在更改后 24 小时内提供进一步的建议。
之后,系统会在一天中定期更新虚拟机实例建议。
根据建议更改机器类型
如果您确定想要应用 Compute Engine 提出的建议,您可以直接在建议界面中更改实例的机器类型,也可以手动逐步执行查看机器类型建议时返回的操作。
控制台
gcloud
如需了解相关信息,请参阅更改机器类型。
REST
如需了解相关信息,请参阅更改机器类型。
忽略建议和恢复建议
如果您已使用完建议,则可以通过控制台忽略建议。在控制台中,如果忽略建议,则系统会从预估节省总额中移除该建议,同时将建议最小化显示,使其呈灰显状态。
通过控制台操作建议不会影响 Recommender API 返回的建议列表或建议状态。如需管理 Recommender API 返回的建议状态,请参阅使用 API。
如需通过控制台忽略某项建议,请执行以下操作:
要忽略控制台中的所有建议,请执行以下操作:
要恢复建议,请执行以下操作:
使用监控代理获取更精确的建议
Cloud Monitoring 提供了 Monitoring 代理,可用于从虚拟机实例收集额外的磁盘、CPU、网络和进程指标。如需收集此类数据,请在虚拟机实例上安装 Monitoring 代理,这样此代理就可以访问系统资源和应用服务。
如果虚拟机实例上已安装且正在运行 Monitoring 代理,则此代理收集的 CPU 和内存指标会自动用于计算机器类型建议。与默认的 Compute Engine 指标相比,Monitoring 代理提供的代理指标可让您更深入地了解实例的资源利用率。这样,建议引擎就能更好地预估资源需求并提出更精确的建议。
要安装代理,请参阅安装 Monitoring 代理。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-10-04。
-