重新配置连接设置

本页面介绍如何管理具有大量并发客户端连接和大量数据库连接线程的数据库。此 Recommender 称为重新配置连接设置

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

  • 数据库连接数的最大值(通过跟踪 max_used_connections 标志的值)。如果自服务器重启以来的最大连接数为 max_connections 值的 80%,重新配置连接设置会建议您增加 max_connections 的值。

    如需详细了解如何增加 max_connections 的值,请参阅并发连接数上限

  • 新的数据库连接线程数与现有数据库连接线程数的对比情况。如果超过 50% 的连接会产生新线程(而不是重复使用缓存的线程),则重新配置连接设置会建议您增加 thread_cache_size 的值。它还会建议您增加 thread_cache_size 的值(如果该值设置为 0)。

    如需详细了解如何增加 max_connections 的值,请参阅优化实例中的高 CPU 利用率

价格

重新配置连接设置 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_CONNECTIONS

替换以下内容:

  • 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_NUMER_OF_CONNECTIONS:显示实例的数据库连接数的有关分析洞见
    • MYSQL_HIGH_THREAD_CACHE_MISS_RATE:显示实例的不使用线程缓存的新数据库连接线程数的有关分析洞见

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

应用建议

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

  • 如需应用针对连接线程缓存大小的建议,请执行以下操作之一:

    • 如果 thread_cache_size 的值设置为 0,则通过将此标志设置为大于 0 的值来启用线程缓存。

    • 如果 thread_cache_size 的值大于 0,则增加此标志的值。thread_cache_size 应该等于数据库的平均连接数。如果新线程数大于当前设置,则增加 thread_cache_size 的值。

  • 如需应用数据库连接建议,请增加 max_connections 标志的值。此建议每天更新一次,因此在增加此标志的值后,请等待 24 小时,然后再次检查建议。如需详细了解如何增加 max_connections 的值,请参阅并发连接数上限

后续步骤