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

本页面介绍了如何使用 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 用户共享此链接。

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

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

摘要卡

下表介绍了 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 指标。

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

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

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

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

默认指标

下表介绍了 Cloud SQL System Insights 信息中心默认显示的 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

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

延迟写入
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

后续步骤