Amazon Redshift 中的性能数据 - Amazon Redshift

Amazon Redshift 中的性能数据

利用 Amazon Redshift 的 CloudWatch 指标,您可以获取有关集群的运行状况和性能的信息,并查看节点级别的信息。在使用这些指标时,请注意,每个指标都有一个或多个维度与之关联。这些维度告诉您指标适用于什么,即指标的范围。Amazon Redshift 有以下两个维度。

  • 拥有 NodeID 维度的指标指的是提供集群节点性能数据的指标,这组指标包括领导节点和计算节点。例如以下指标:CPUUtilizationReadIOPSWriteIOPS

  • 只有 ClusterIdentifier 维度的指标指的是提供集群性能数据的指标。例如以下指标:HealthStatusMaintenanceMode

    注意

    在使用某些指标时,特定于集群的指标表示节点行为的聚合。在这类情况下,由于领导节点的行为与计算节点聚合,在解释指标值时请小心谨慎。

有关 CloudWatch 指标和维度的一般信息,请参阅《Amazon CloudWatch 用户指南》中的 CloudWatch 概念

有关 Amazon Redshift 的 CloudWatch 指标的进一步说明,请参阅以下部分。

Amazon Redshift 指标

AWS/Redshift 命名空间包括以下指标。除非另有说明,否则每隔 1 分钟收集一次指标。

指标 描述
CommitQueueLength

在给定的时间点等待提交的事务数。

单位:计数

维度:ClusterIdentifier

ConcurrencyScalingActiveClusters

在任何给定时间主动处理查询的并发扩展集群的数量。

单位:计数

维度:ClusterIdentifier

ConcurrencyScalingSeconds

具有活动查询处理活动的并发扩展集群使用的秒数。

单位:计数

维度:ClusterIdentifier

CPUUtilization

CPU 使用百分率。对于集群,该指标代表所有节点 (领导节点和计算节点) CPU 使用率值的总和。

单位:百分比

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

DatabaseConnections

集群中的数据库连接数量。

单位:计数

维度:ClusterIdentifier

HealthStatus

表示集群的运行状况检查。每分钟集群连接到其数据库并执行一次简单的查询。如果可以成功执行此操作,则表示集群的运行状况良好。否则,视为集群运行状况不佳。当数据库集群负载极重,或者集群上的数据库存在配置问题时,集群会出现运营状况不佳的情况。

注意

在 Amazon CloudWatch 中,此指标报告为 1 或 0,而在 Amazon Redshift 控制台中,为了方便起见,此指标显示为 HEALTHYUNHEALTHY。当该指标在 Amazon Redshift 控制台中显示时,采样平均值会被忽略,仅显示 HEALTHYUNHEALTHY。在 Amazon CloudWatch 中,由于采样问题,可能出现 1 和 0 以外的值。HealthStatus 的所有 1 以下的值均报告为 0 (UNHEALTHY)。

单位:计数 (1/0)(在 Amazon Redshift 控制台中为 HEALTHY/UNHEALTHY

维度:ClusterIdentifier

MaintenanceMode

表示集群是否处于维护模式。

注意

在 Amazon CloudWatch 中,此指标报告为 1 或 0,而在 Amazon Redshift 控制台中,为了方便起见,此指标显示为 ONOFF。当该指标在 Amazon Redshift 控制台中显示时,采样平均值会被忽略,仅显示 ONOFF。在 Amazon CloudWatch 中,由于采样问题,可能出现 1 和 0 以外的值。MaintenanceMode 的所有 0 以上的值均报告为 1 (ON)。

单位:计数 (1/0)(在 Amazon Redshift 控制台中为 ONOFF)。

维度:ClusterIdentifier

MaxConfiguredConcurrencyScalingClusters

从参数组配置的最大并发扩展集群数。有关更多信息,请参阅 Amazon Redshift 参数组

单位:计数

维度:ClusterIdentifier

NetworkReceiveThroughput

节点或集群接收数据的速率。

单位:字节/秒(在 Amazon Redshift 控制台为 MB/s)

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

NetworkTransmitThroughput

节点或集群写入数据的速率。

单位:字节/秒(在 Amazon Redshift 控制台为 MB/s)

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

PercentageDiskSpaceUsed

已使用磁盘空间的百分比。

单位:百分比

维度:ClusterIdentifier

维度: ClusterIdentifier, NodeID

QueriesCompletedPerSecond

每秒完成的平均查询数。每隔 5 分钟报告一次。单节点集群不支持该指标。

单位:计数/秒

维度: ClusterIdentifier, latency

维度: ClusterIdentifier, wlmid

QueryDuration

完成查询的平均时间量。每隔 5 分钟报告一次。单节点集群不支持该指标。

单位:微秒

维度:ClusterIdentifierNodeIDlatency

维度: ClusterIdentifier, latency

维度:ClusterIdentifierNodeIDwlmid

QueryRuntimeBreakdown

查询在各个查询阶段运行所花费的总时间。每隔 5 分钟报告一次。

单位:毫秒

维度:ClusterIdentifier、NodeID、stage

维度:ClusterIdentifier、stage

ReadIOPS

每秒平均磁盘读取 操作数。

单位:计数/秒

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

ReadLatency

磁盘读取 I/O 操作所需的平均时间。

单位:秒

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

ReadThroughput

每秒从磁盘读取的平均字节数。

单位:字节(在 Amazon Redshift 控制台为 GB/s)

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

RedshiftManagedStorageTotalCapacity

总托管式存储容量。

单位:MB

维度:ClusterIdentifier

TotalTableCount

在特定时间点打开的用户表的数量。此总数不包括 Amazon Redshift Spectrum 表。

单位:计数

维度:ClusterIdentifier

WLMQueueLength

等待进入工作负载管理 (WLM) 队列的查询数。

单位:计数

维度: ClusterIdentifier, service class

维度: ClusterIdentifier, QueueName

WLMQueueWaitTime

在工作负载管理 (WLM) 队列中等待的查询总时间。每隔 5 分钟报告一次。

单位:毫秒。

维度: ClusterIdentifier, QueryPriority

维度: ClusterIdentifier, wlmid

维度: ClusterIdentifier, QueueName

WLMQueriesCompletedPerSecond

每秒为工作负载管理 (WLM) 队列完成的平均查询数。每隔 5 分钟报告一次。单节点集群不支持该指标。

单位:计数/秒

维度: ClusterIdentifier, wlmid

维度: ClusterIdentifier, QueueName

WLMQueryDuration

为工作负载管理 (WLM) 队列完成查询的平均时间量。每隔 5 分钟报告一次。单节点集群不支持该指标。

单位:微秒

维度: ClusterIdentifier, wlmid

维度: ClusterIdentifier, QueueName

WLMRunningQueries

对于每个 WLM 队列,从主集群和并发扩展集群运行的查询数。

单位:计数

维度: ClusterIdentifier, wlmid

维度: ClusterIdentifier, QueueName

WriteIOPS

每秒平均磁盘写入操作数。

单位:计数/秒

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

WriteLatency

磁盘写入 I/O 操作所需的平均时间。

单位:秒

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

WriteThroughput

每秒写入磁盘的平均字节数。

单位:字节(在 Amazon Redshift 控制台为 GB/s)

维度: ClusterIdentifier, NodeID

维度:ClusterIdentifier

SchemaQuota

为 schema 配置的配额。

单位:MB

维度:ClusterIdentifierDatabaseSchema

周期/推送:Periodic

频率:5 minutes

停止条件:已删除 Schema 或移除配额

NumExceededSchemaQuotas

超出配额的 schema 数。

单位:计数

维度:ClusterIdentifier

周期/推送:Periodic

频率:5 minutes

停止标准:不适用

StorageUsed

schema 使用的磁盘或存储空间。

单位:MB

维度:ClusterIdentifierDatabaseSchema

周期/推送:Periodic

频率:5 minutes

停止条件:已删除 Schema 或移除配额

PercentageQuotaUsed

使用的磁盘或存储空间相对于配置的 schema 配额的百分比。

单位:百分比

维度:ClusterIdentifierDatabaseSchema

周期/推送:Periodic

频率:5 minutes

停止条件:已删除 Schema 或移除配额

UsageLimitAvailable

根据 FeatureType,UsageLimitAvailable 将返回以下内容:

  • 如果 FeatureType 为 CONCURRENCY_SCALING,则 UsageLimitAvailable 将返回可由并发扩展使用的总时间长度(以 1 分钟为增量)。

  • 如果 FeatureType 为 CROSS_REGION_DATASHARING,则 UsageLimitAvailable 将返回可扫描的数据总量(以 1 TB 为增量)。

  • 如果 FeatureType 为 SPECTRUM,则 UsageLimitAvailable 将返回可扫描的数据总量(以 1 TB 为增量)。

单位:分钟或 TB

维度:ClusterIdentifierFeatureTypeUsageLimitId

UsageLimitConsumed

根据 FeatureType,UsageLimitConsumed 将返回以下内容:

  • 如果 FeatureType 为 CONCURRENCY_SCALING,则 UsageLimitAvailable 将返回并发扩展使用的总时间长度(以 1 分钟为增量)。

  • 如果 FeatureType 为 CROSS_REGION_DATASHARING,则 UsageLimitAvailable 将返回扫描的数据总量(以 1 TB 为增量)。

  • 如果 FeatureType 为 SPECTRUM,则 UsageLimitAvailable 将返回扫描的数据总量(以 1 TB 为增量)。

单位:分钟或 TB

维度:ClusterIdentifierFeatureTypeUsageLimitId

Amazon Redshift 指标的维度

可以按下表中的任意维度对 Amazon Redshift 数据进行筛选。

维度 描述
latency

可能值如下所示:

  • short – 不到 10 秒

  • medium – 在 10 秒到 10 分钟之间

  • long – 超过 10 分钟

NodeID

筛选条件请求的特定于集群节点的数据。NodeID 是“领导”、“共享”或“计算 N”,其中 N 是集群中节点的数目(0、1 等)。“共享”意味着集群只有一个节点,即领导节点和计算节点合并到了一起。

针对领导节点和计算节点报告的指标只适用于 CPUUtilizationNetworkTransmitThroughputReadIOPS。使用 NodeId 维度的其他指标只针对计算节点进行报告。

ClusterIdentifier

筛选条件请求的特定于集群的数据。特定于集群的指标包括 HealthStatusMaintenanceModeDatabaseConnections。此维度的一般指标(例如,ReadIOPS)同样是表示节点指标数据聚合的节点的指标。在解析这些指标时请小心,因为它们是领导节点和计算节点的聚合行为。

service class

WLM 服务类的标识符。

stage

查询的执行阶段。可能的值如下所示:

  • QueryPlanning:分析和优化 SQL 语句所花的时间。

  • QueryWaiting:在 WLM 队列中等待所花的时间。

  • QueryExecutingRead:执行读取查询所花的时间。

  • QueryExecutingInsert:执行插入查询所花的时间。

  • QueryExecutingDelete:执行删除查询所花的时间。

  • QueryExecutingUpdate:执行更新查询所花的时间。

  • QueryExecutingCtas:执行 create table as 查询所花的时间。

  • QueryExecutingUnload:执行卸载查询所花的时间。

  • QueryExecutingCopy:执行复制查询所花的时间。

  • QueryCommit:提交所花的时间。

wlmid

工作负载管理队列的标识符。

QueryPriority

查询的优先级。可能的值包括 CRITICALHIGHESTHIGHNORMALLOWLOWEST

QueueName

工作负载管理队列的名称。

FeatureType

受使用量限额限制的功能。可能的值为 CONCURRENCY_SCALINGCROSS_REGION_DATASHARINGSPECTRUM

UsageLimitId

使用量限额的标识符。

Amazon Redshift 查询和加载性能数据

除了 CloudWatch 指标之外,Amazon Redshift 还提供查询和加载性能数据。查询和加载性能数据有助于您了解数据库性能和集群指标之间的关系。例如,如果您注意到集群的 CPU 达到峰值,则可以在集群 CPU 图表中找到相应峰值,并了解当时正在运行的查询。相反,如果您要查看特定查询,则相应指标数据(如 CPU)会根据具体情况显示出来,以便您了解查询对集群指标的影响。

查询和加载性能数据不会作为 CloudWatch 指标发布,而只能通过 Amazon Redshift 控制台查看。查询和加载性能数据通过查询数据库的系统表生成(有关更多信息,请参阅《Amazon Redshift 开发人员指南》中的系统表参考)。您也可以生成自己的自定义数据库性能查询,不过我们建议您先从控制台中提供的查询和加载性能数据入手。有关自行测量和监控数据库性能的更多信息,请参阅《Amazon Redshift 开发人员指南》中的管理性能

下表介绍了您可以通过 Amazon Redshift 控制台访问的查询和加载数据的不同方面。

查询/加载数据 描述
查询摘要

指定时间段内的查询列表。此列表可以按查询 ID、查询运行时间和状态等值排序。在集群详细信息页面的查询监控选项卡中查看此数据。

查询详细信息

提供某个特定查询的详细信息,包括:

  • 查询属性,如查询 ID、类型、运行查询的集群和运行时间。

  • 详细信息,例如查询的状态和错误数量。

  • 运行的 SQL 语句。

  • 说明计划(如果有)。

  • 查询执行期间的集群性能数据(有关更多信息,请参阅查看查询历史记录)。

加载摘要

列出指定时间段内的所有加载。此列表可以按查询 ID、查询运行时间和状态等值排序。在集群详细信息页面的查询监控选项卡中查看此数据。

加载详细信息

提供有关特定加载操作的详细信息,包括:

  • 加载属性,例如查询 ID、类型、运行查询的集群和运行时间。

  • 详细信息,例如加载的状态和错误数量。

  • 运行的 SQL 语句。

  • 已加载的文件列表。

  • 加载操作期间的集群性能数据(有关更多信息,请参阅查看查询历史记录)。