本页面介绍如何管理实例联接缓冲区中没有索引的联接数量。此 recommender 称为创建索引或重新配置联接设置。
此 Recommender 会每天监控联接缓冲区中没有索引的联接数量。联接缓冲区是基于连接的内存缓冲区,用于在无法使用索引的联接操作期间存储数据。如果没有索引的联接总数超过每小时 500 个,则建议创建索引或增加 join_buffer_size
的值。
如需详细了解如何增加 join_buffer_size
的值,请参阅其他内存消耗。
价格
创建索引或重新配置联接设置 Recommender 属于标准 Recommender 价格层级。
准备工作
所需的角色和权限
如需获得查看和使用数据分析和建议的权限,请确保您具有所需的 Identity and Access Management (IAM) 角色。
任务 | 角色 |
---|---|
查看建议 |
recommender.cloudsqlViewer 或 cloudsql.admin
|
采纳建议 |
cloudsql.editor 或 cloudsql.admin
|
列出建议
如需列出建议,请按以下步骤操作:
控制台
如需列出有关实例性能的建议,请按照以下步骤操作:
- 转到 Cloud SQL 实例页面。
- 在调查问题并根据建议采取相应措施,从而改善实例健康状况横幅上,点击展开详细信息。
或者,请按以下步骤操作:
转到 Recommendation Hub。另请参阅通过 Recommendation 查找和应用建议。
在所有建议卡片中,点击性能。
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
的值,请参阅其他内存消耗。