重新配置日志设置

本页面介绍如何管理临时二进制日志文件和 InnoDB 重做日志文件。此 Recommender 称为重新配置日志设置

此 Recommender 会每天分析以下内容:

  • 二进制日志和二进制日志语句缓存中的磁盘用量。如果超过 10% 的事务和非事务性语句会写入磁盘上的临时文件,重新配置日志设置会建议您增加 binlog_cache_sizebinlog_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 价格层级

准备工作

启用 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_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_sizebinlog_cache_size 的值。

    binlog_stmt_cache_size。如需详细了解如何增加 binlog_cache_size 的值,请参阅缓存内存消耗

  • 将事务设计得较小,并使用较少的二进制日志和二进制日志语句缓存。

  • 增加 innodb_log_buffer_size 的值。如需详细了解如何增加 innodb_log_buffer_size 的值,请参阅缓冲区内存消耗

  • 增加永久性磁盘大小,以便有足够的并行 I/O 请求来提高日志文件的读取操作与写入操作之比。

后续步骤