管理打开的表和打开的表定义

本页面介绍如何管理具有大量打开的表和大量打开的表定义的实例。此 Recommender 称为管理打开的表。

此 Recommender 会每天分析以下方面的指标:

  • 实例的打开的表或打开的表定义的数量,如下所示:
    • 打开的表或打开的表定义的数量是否在过去 24 小时内每 2 秒(或更快)增加 1 个表。
    • 打开的表或打开的表定义的数量是否分别大于或等于 table_open_cache 和 table_definition_cache 的值。如果满足上述任一条件,则 Recommender 会建议您增加 table_open_cache 或 table_definition_cache 的值。

如需详细了解如何增加 table_open_cache 和 table_definition_cache 的值,请参阅表限制。

价格

管理打开的表 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_RECONFIG_OPEN_TABLES

替换以下内容:

  • 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=INSIGHT_SUBTYPE

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • LOCATION:实例所在的区域,例如 us-central1
  • INSIGHT_SUBTYPE:将此参数设置为以下其中一项:
    • MYSQL_HIGH_NUMBER_OF_OPEN_TABLES:显示有关实例的打开的表数量的分析洞见
    • MYSQL_HIGH_NUMBER_OF_OPEN_TABLE_DEFINITIONS:显示有关实例的打开的表定义数量的分析洞见

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

应用建议

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

  • 对于大量打开的表,请将 table_open_cache 的值增加 1000,直到建议消失;或者,检查高峰使用时段 open_tables 的值,并将 table_open_cache 的值增加到高于 open_tables 的值。

  • 对于大量打开的表定义,请将 table_definition_cache 的值增加 500,直到建议消失;或者,检查高峰使用时段 open_table_definitions 的值,并将 table_definition_cache 的值增加到高于 open_table_definitions 的值。

此建议每天更新一次,因此在增加 table_open_cache 或 table_definition_cache 的值后,请等待 24 小时,然后再次检查建议。如需详细了解如何增加 table_open_cache 和 table_definition_cache 的值,请参阅表限制。

后续步骤