创建索引或重新配置联接设置

本页面介绍如何管理实例联接缓冲区中没有索引的联接数量。此 Recommender 称为创建索引或重新配置联接设置。

此 Recommender 会每天监控联接缓冲区中没有索引的联接数量。联接缓冲区是基于连接的内存缓冲区,用于在无法使用索引的联接操作期间存储数据。如果没有索引的联接总数超过每小时 500 个,则建议创建索引或增加 join_buffer_size 的值。

如需详细了解如何增加 join_buffer_size 的值,请参阅其他内存消耗。

价格

创建索引或重新配置联接设置 Recommender 属于标准 Recommender 价格层级。

准备工作

启用 Recommender API。

所需的角色和权限

如需获得查看和使用数据分析和建议的权限,请确保您具有所需的 Identity and Access Management (IAM) 角色。

任务 角色
查看建议 recommender.cloudsqlViewer 或 cloudsql.admin
采纳建议 cloudsql.editor 或 cloudsql.admin
如需详细了解 IAM 角色,请参阅 IAM 基本角色和预定义角色参考文档以及管理对项目、文件夹和组织的访问权限。

列出建议

如需列出建议,请按以下步骤操作:

控制台

如需列出有关实例性能的建议,请按照以下步骤操作:

  1. 转到 Cloud SQL 实例页面。

打开“Cloud SQL 实例”

  1. 在调查问题并根据建议采取相应措施,从而改善实例健康状况横幅上,点击展开详细信息。

或者,请按以下步骤操作:

  1. 前往 Active Assist。另请参阅通过 Recommendation 查找和应用建议。

    前往 Active Assist

  2. 在所有建议卡片中,点击性能。

gcloud

运行 gcloud recommender recommendations list 命令,如下所示:

gcloud recommender recommendations list \
--project=PROJECT_ID \
--location=LOCATION \
--recommender=google.cloudsql.instance.PerformanceRecommender \
--filter=recommenderSubtype=MYSQL_CREATE_INDEX_OR_RECONFIG_JOIN_BUFFER

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • LOCATION:实例所在的区域,例如 us-central1

API

调用 recommendations.list 方法,如下所示:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender/recommendations

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • LOCATION:实例所在的区域,例如 us-central1

查看数据分析和详细建议

如需查看数据分析和详细建议,请按以下步骤操作:

控制台

执行下列其中一项操作:

  • 在性能建议页面上,点击性能建议卡片,然后点击创建索引或重新配置联接设置。系统会显示建议面板,其中包含实例的分析洞见和详细建议。

  • 在实例页面上,点击创建索引或重新配置联接设置。实例列表仅显示建议适用的实例。

gcloud

运行 gcloud recommender insights list 命令,如下所示:


gcloud recommender insights list \
--project=PROJECT_ID \
--location=LOCATION \
--insight-type=google.cloudsql.instance.PerformanceInsight \
--filter=insightSubtype=MYSQL_HIGH_JOINS_WITHOUT_INDEXES

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • LOCATION:实例所在的区域,例如 us-central1

API

调用 insights.list 方法,如下所示:


GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceInsight/insights

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • LOCATION:实例所在的区域,例如 us-central1

应用建议

如需实施此建议,请执行以下操作:

  • 在实例中创建适当的索引,以防止出现大量没有索引的联接。

  • 如果您无法为联接创建索引,请增加 join_buffer_size 的值,直到建议消失。联接缓冲区可以按会话增加,也可以在全局范围内增加。我们建议您在具有大量联接的会话中增加联接缓冲区。

    如需详细了解如何增加 join_buffer_size 的值,请参阅其他内存消耗。

后续步骤