aurora_ccm_status - Amazon Aurora

aurora_ccm_status

显示集群缓存管理器的状态。

语法

aurora_ccm_status()

Arguments

无。

返回类型

包含以下列的 SETOF 记录:

  • buffers_sent_last_minute – 过去一分钟内发送到指定读取器的缓冲区数量。

  • buffers_found_last_minute – 在过去一分钟内识别的频繁访问缓冲区的数量。

  • buffers_sent_last_scan – 在上次完整扫描缓冲区缓存期间,发送到指定读取器的缓冲区数量。

  • buffers_found_last_scan – 在上次完整扫描缓冲区缓存期间,发送的经常访问缓冲区数量。已在指定读取器上缓存的缓冲区不会发送。

  • buffers_sent_current_scan – 在当前的扫描期间发送的缓冲区数量。

  • buffers_found_current_scan – 在当前扫描中识别的经常访问缓冲区的数量。

  • current_scan_progress – 在当前的扫描期间,到现在已访问的缓冲区数量。

使用说明

您可以使用此功能来检查和监控集群缓存管理 (CCM) 功能。仅当 CCM 在 Aurora PostgreSQL 数据库集群上处于活动状态时,此函数才有效。要使用此函数,您需要连接到 Aurora PostgreSQL 数据库集群上的写入数据库实例。

为 Aurora PostgreSQL 数据库集群启用 CCM,方法是在集群的自定义数据库集群参数组中,将 apg_ccm_enabled 设置为 1。要了解如何操作,请参阅配置集群缓存管理

当集群具有如下配置的 Aurora 读取器实例时,集群缓存管理在 Aurora PostgreSQL 数据库集群上处于活动状态:

  • Aurora 读取器实例使用与集群的写入器实例相同的数据库实例类类型和大小。

  • Aurora 读取器实例配置为集群的 Tier-0。如果集群有多个读取器,则这是唯一的 Tier-0 读取器。

将多个读取器设置为 Tier-0 将会禁用 CCM。CCM 禁用时,调用此函数将返回以下错误消息:

ERROR: Cluster Cache Manager is disabled

您也可以使用 PostgreSQL pg_buffercache 扩展来分析缓冲区缓存。有关更多信息,请参阅 PostgreSQL 文档中的 pg_buffercache

有关更多信息,请参阅 Aurora PostgreSQL 集群缓存管理简介

示例

以下示例显示了调用 aurora_ccm_status 函数的结果。此第一个示例显示了 CCM 统计数据。

=> SELECT * FROM aurora_ccm_status(); buffers_sent_last_minute | buffers_found_last_minute | buffers_sent_last_scan | buffers_found_last_scan | buffers_sent_current_scan | buffers_found_current_scan | current_scan_progress --------------------------+---------------------------+------------------------+-------------------------+---------------------------+----------------------------+----------------------- 2242000 | 2242003 | 17920442 | 17923410 | 14098000 | 14100964 | 15877443

有关更完整的详细信息,您可以使用扩展显示,如下所示:

\x Expanded display is on. SELECT * FROM aurora_ccm_status(); [ RECORD 1 ]-----------------------+--------- buffers_sent_last_minute | 2242000 buffers_found_last_minute | 2242003 buffers_sent_last_scan | 17920442 buffers_found_last_scan | 17923410 buffers_sent_current_scan | 14098000 buffers_found_current_scan | 14100964 current_scan_progress | 15877443

此示例说明如何检查温速率和温百分比。

=> SELECT buffers_sent_last_minute * 8/60 AS warm_rate_kbps, 100 * (1.0-buffers_sent_last_scan/buffers_found_last_scan) AS warm_percent FROM aurora_ccm_status (); warm_rate_kbps | warm_percent ----------------+-------------- 16523 | 100.0