本页面介绍如何管理临时二进制日志文件和 InnoDB 重做日志文件。此 Recommender 称为重新配置日志设置。
此 Recommender 会每天分析以下内容:
二进制日志和二进制日志语句缓存中的磁盘用量。如果超过 10% 的事务和非事务性语句会写入磁盘上的临时文件,重新配置日志设置会建议您增加
binlog_cache_size
或binlog_stmt_cache_size
的值以提高性能。如需详细了解如何增加
binlog_cache_size
的值,请参阅缓存内存消耗。binlog_stmt_cache_size
。InnoDB 重做日志的等待时间与写入时间之比。如果事务在等待日志缓冲区刷新,此 Recommender 会建议增加
innodb_log_buffer_size
的值。如需详细了解如何增加
innodb_log_buffer_size
的值,请参阅[缓冲区内存消耗](/sql/docs/mysql/
价格
重新配置日志设置 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_RECONFIG_TRANS_LOGS
替换以下内容:
- 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_LOW_BINLOG_CACHE_SIZE
:显示实例的使用磁盘上缓存的事务性二进制日志数量的有关分析洞见MYSQL_LOW_BINLOG_STMT_CACHE_SIZE
:显示实例的使用磁盘上缓存的非事务性语句二进制日志数量的有关分析洞见MYSQL_LOW_INNODB_LOG_BUFFER_SIZE
:显示 InnoDB 重做日志的等待时间与写入时间的对比情况的有关分析洞见
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
应用建议
如需实施此建议,请执行以下操作之一:
增加
binlog_stmt_cache_size
或binlog_cache_size
的值。binlog_stmt_cache_size
。如需详细了解如何增加binlog_cache_size
的值,请参阅缓存内存消耗。将事务设计得较小,并使用较少的二进制日志和二进制日志语句缓存。
增加
innodb_log_buffer_size
的值。如需详细了解如何增加innodb_log_buffer_size
的值,请参阅缓冲区内存消耗。增加永久性磁盘大小,以便有足够的并行 I/O 请求来提高日志文件的读取操作与写入操作之比。