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

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

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

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

如需详细了解如何增加 table_open_cachetable_definition_cache 的值,请参阅表限制

价格

管理打开的表 Recommender 属于标准 Recommender 价格层级

准备工作

启用 Recommender API

所需的角色和权限

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

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

列出建议

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

控制台

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

  1. 转到 Cloud SQL 实例页面。

打开“Cloud SQL 实例”

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

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

  1. 转到 Recommendation Hub。另请参阅通过 Recommendation 查找和应用建议

    转到 Recommendation Hub

  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 的值增加 500,直到建议消失。

  • 对于大量打开的表定义,请将 table_definition_cache 的值增加 500,直到建议消失。

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

后续步骤