使用系统数据分析来提高系统性能

本页面介绍了如何使用 Cloud SQL 系统数据分析信息中心。系统数据分析信息中心会显示实例所用资源的指标,并可帮助您检测和分析系统性能问题。

查看系统数据分析信息中心

要查看系统数据分析信息中心,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 点击一个实例的名称。
  3. 从左侧的 SQL 导航面板中选择系统数据分析标签页。

系统数据分析信息中心随即打开。

显示指标和事件时间轴的信息中心图片。
图 1. 显示事件时间轴和摘要卡片的信息中心图片。

系统数据分析信息中心会显示以下信息:

  1. 实例详情

  2. 事件时间轴:按时间顺序显示系统事件。此信息可帮助您评估系统事件对实例的健康状况和性能的影响。

  3. 摘要卡:通过显示 CPU 利用率、磁盘利用率和日志错误指标的最新聚合值,提供实例健康状况和性能的概览。

  4. 指标图表:显示操作系统和数据库指标的相关信息,可帮助您深入了解多个问题,例如吞吐量、延迟时间和费用。

信息中心提供以下简要选项:

  • 如需创建自定义信息中心,请点击 Mode edit(模式修改)。
  • 如需使信息中心保持最新,请启用 自动刷新选项。启用自动刷新后,信息中心数据会每分钟更新。此功能不适用于自定义时间段。

  • 时间选择器默认显示已选中 1 day。如需更改时间段,请选择其他预定义时间段之一,或点击自定义并定义开始时间和结束时间。可以获得过去 30 天的数据。

  • 如需创建指向信息中心的绝对链接,请点击复制链接按钮。您可以与具有相同权限的其他 Cloud SQL 用户共享此链接。

  • 如需为特定事件创建提醒,请点击 通知

  • 如需显示特定提醒,请点击注释

摘要卡

下表介绍了 System Insights 信息中心顶部显示的摘要卡。这些卡片提供了实例在选定时间段内的健康状况和性能的简要概览。

摘要卡说明
CPU 利用率 - P50 P50 CPU 利用率值。
CPU 利用率 - P99 P99 CPU 利用率值。
磁盘利用率 最新的磁盘利用率值。
缓冲区缓存命中率 可在缓冲区缓存中找到(无需从磁盘读取)的页面数量百分比。

指标图表

示例指标的图表卡片如下所示。

显示 Cloud SQL 指标数据示例的图表。
显示指标数据的指标图表。

每个图表卡片上的工具栏都提供以下标准选项集:

  • 如需查看所选时间段内特定时刻的指标值,请将光标移到图表上。

  • 如需放大图表,请点击图表,然后沿 x 轴水平拖动或沿 y 轴垂直拖动。如需还原缩放操作,请点击重置缩放级别。或者,点击信息中心顶部的任一预定义时间段。缩放操作会同时应用于信息中心上的所有图表。

  • 如需查看其他选项,请点击 更多图表选项。大多数图表都提供以下选项:

    • 如需以全屏模式查看图表,请点击全屏查看。如需退出全屏模式,请点击取消

    • 隐藏或收起图例。

    • 下载图表的 PNG 或 CSV 文件。

    • 在 Metrics Explorer 中查看。在 Metrics Explorer 中查看指标。 选择 Cloud SQL 数据库资源类型后,您可以在 Metrics Explorer 中查看其他 Cloud SQL 指标。

  • 如需创建自定义信息中心,请点击 自定义信息中心,然后为其命名。或者,展开预定义菜单,然后选择现有自定义信息中心。

  • 如需详细查看指标图表的数据,请点击 探索数据。在这里,您可以过滤特定指标,并选择图表的显示方式:

    Cloud SQL 指标数据的可自定义视图。

    如需将此自定义视图另存为指标图表,请点击保存到信息中心

默认指标

下表介绍了 Cloud SQL 系统数据分析信息中心默认显示的 Cloud SQL 指标。

指标类型字符串具有此前缀:cloudsql.googleapis.com/database/

指标名称和类型说明
CPU 利用率
database/cpu/utilization

当前 CPU 利用率,以当前正在使用的预留 CPU 的百分比表示。

内存用量
database/memory/usage

RAM 用量(以字节为单位)。

总内存用量
database/memory/total_usage

总 RAM 用量(以字节为单位)。

已用字节数
database/disk/bytes_used

数据利用率(以字节为单位)。

磁盘配额
database/disk/quota

数据磁盘的大小上限(以字节为单位)。

磁盘读取 I/O
database/disk/read_ops_count

自预览报告指标以来数据磁盘读取 I/O 操作计数的变化。每 60 秒采样一次。

磁盘写入 I/O
database/disk/write_ops_count

自预览报告指标以来,数据磁盘写入 I/O 操作计数的变化。每 60 秒采样一次。

接收的字节数
database/network/received_bytes_count

自预览报告指标以来,通过网络接收的字节数的变化。每 60 秒采样一次。

发送的字节数
database/network/sent_bytes_count

与预览报告的指标相比,通过网络发送的字节数的变化。每 60 秒采样一次。

缓冲区缓存命中率
database/sqlserver/memory/buffer_cache_hit_ratio

可在缓冲区缓存中找到(无需从磁盘读取)的页面数量的当前百分比。该比率为缓存命中次数除以缓存查找次数。

内存授权待审批
database/sqlserver/memory/memory_grants_pending

当前正等待工作区内存授权的进程数。

空闲列表停顿
database/sqlserver/memory/free_list_stall_count

等待空闲页面的请求总数。

换入的页数
database/swap/pages_swapped_in_count

自系统启动以来,磁盘中换入的页面总数。

换出的页数
database/swap/pages_swapped_out_count

自系统启动以来,从磁盘中换出的页面总数。

检查点页面
database/sqlserver/memory/checkpoint_page_count

由检查点或需要 flush 所有脏页的其他操作 flush 到磁盘的页面总数。

延迟写入
database/sqlserver/memory/lazy_write_count

缓冲区管理器的延迟写入器写入的缓冲区总数。延迟写入器是一种系统进程,用于刷出批量脏的过时缓冲区(包含必须先写回磁盘的更改的缓冲区,然后才能将缓冲区重复使用于其他页面),并将其提供给用户进程。

网页预计寿命
database/sqlserver/memory/page_life_expectancy

页面保留在缓冲区池中不被引用的当前秒数。

网页操作
database/sqlserver/memory/page_operation_count

读取或写入物理数据库页面的总次数。此统计信息会统计所有数据库中读取或写入物理页面的次数。

页面拆分
database/sqlserver/transaction/page_split_count

由于索引页面溢出而发生的页面拆分总数。

死锁
database/sqlserver/transaction/deadlock_count

导致死锁的锁定请求总数。

已开始的交易
database/sqlserver/transaction/transaction_count

启动的事务总数。

批量请求
database/sqlserver/transaction/batch_request_count

收到的 Transact-SQL 命令批次总数。

SQL 编译
database/sqlserver/transaction/sql_compilation_count

SQL 编译的总次数。

SQL 重新编译
database/sqlserver/transaction/sql_recompilation_count

SQL 重新编译的总次数。

已屏蔽的进程
database/sqlserver/connections/processes_blocked

当前被阻止的进程数。

锁定等待时间
database/sqlserver/transactions/lock_wait_time

锁定请求等待锁定的总时间。

锁定等待时间
database/sqlserver/transactions/lock_wait_count

需要调用方等待的锁定请求总数。

Cloud SQL 连接
database/network/connections

Cloud SQL 实例上的数据库连接数。

登录尝试次数
database/sqlserver/connections/login_attempt_count

自上次重启 SQL Server 服务以来的登录尝试总次数。不包括池化连接。

退出账号
database/sqlserver/connections/logout_count

自上次重启 SQL Server 服务以来的退出操作总数。

连接重置
database/sqlserver/connections/connection_reset_count

自上次重启 SQL Server 服务以来从连接池启动的登录总数。

日志条目
log_entry_count

直接写入或通过 project-sink 路由到此项目且存储在至少一个日志存储桶中的日志条目的数量。默认情况下,日志条目会存储 30 天。不计入排除的日志。

完整扫描
database/sqlserver/transactions/full_scan_count

不受限制的全面扫描总次数。这些扫描可以是基表扫描,也可以是全索引扫描。

如需了解详情,请参阅 Cloud SQL 指标

事件时间轴

信息中心提供了以下事件的详细信息:

事件名称说明操作类型
Instance restart 重启 Cloud SQL 实例 RESTART
Instance failover 启动高可用性 (HA) 主实例到备用实例的手动故障转移,该实例成为主实例。 FAILOVER
Instance maintenance 表示实例当前正在维护中。 维护通常会导致实例无法使用的时长为 1 到 3 分钟。 MAINTENANCE
Instance backup 执行实例备份。 BACKUP_VOLUME
Instance update 更新 Cloud SQL 实例的设置。 UPDATE
Promote replica 升级 Cloud SQL 副本实例。 PROMOTE_REPLICA
Start replica 启动 Cloud SQL 读取副本实例上的复制。 START_REPLICA
Stop replica 停止 Cloud SQL 读取副本实例上的复制。 STOP_REPLICA

后续步骤