

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# Amazon Redshift 中的性能数据
<a name="metrics-listing"></a>

利用 Amazon Redshift 的 CloudWatch 指标，您可以获取有关集群的运行状况和性能的信息，并查看节点级别的信息。在使用这些指标时，请注意，每个指标都有一个或多个维度与之关联。这些维度告诉您指标适用于什么，即指标的范围。Amazon Redshift 有以下两个维度。
+ 拥有 `NodeID` 维度的指标指的是提供集群节点性能数据的指标，这组指标包括领导节点和计算节点。例如以下指标：`CPUUtilization`、`ReadIOPS` 和 `WriteIOPS`。
+ 只有 `ClusterIdentifier` 维度的指标指的是提供集群性能数据的指标。例如以下指标：`HealthStatus` 和 `MaintenanceMode`。
**注意**  
在使用某些指标时，特定于集群的指标表示节点行为的聚合。在这类情况下，由于领导节点的行为与计算节点聚合，在解释指标值时请小心谨慎。

有关 CloudWatch 指标和维度的一般信息，请参阅《Amazon CloudWatch 用户指南》**中的 [CloudWatch 概念](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html)。

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

**Topics**
+ [Amazon Redshift 指标](#redshift-metrics)
+ [Amazon Redshift 指标的维度](#metrics-filterable-dimensions)
+ [Amazon Redshift 查询和加载性能数据](#custom-metrics-listing)

## Amazon Redshift 指标
<a name="redshift-metrics"></a>

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


| 指标 | 说明 | 
| --- | --- | 
| CommitQueueLength | 在给定的时间点等待提交的事务数。<br />单位：计数<br />维度：`ClusterIdentifier` | 
| ConcurrencyScalingActiveClusters | 在任何给定时间主动处理查询的并发扩展集群的数量。<br />单位：计数<br />维度：`ClusterIdentifier` | 
| ConcurrencyScalingSeconds | 具有活动查询处理活动的并发扩展集群使用的秒数。<br />单位：计数<br />维度：`ClusterIdentifier` | 
| CPUUtilization | CPU 使用百分率。对于集群，该指标代表所有节点 (领导节点和计算节点) CPU 使用率值的总和。<br />单位：百分比<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| DatabaseConnections | 集群中的数据库连接数量。<br />单位：计数<br />维度：`ClusterIdentifier` | 
| HealthStatus | 表示集群的运行状况检查。每分钟集群连接到其数据库并执行一次简单的查询。如果可以成功执行此操作，则表示集群的运行状况良好。否则，视为集群运行状况不佳。当数据库集群负载极重，或者集群上的数据库存在配置问题时，集群会出现运营状况不佳的情况。 在 Amazon CloudWatch 中，此指标报告为 1 或 0，而在 Amazon Redshift 控制台中，为了方便起见，此指标显示为 `HEALTHY` 或 `UNHEALTHY`。当该指标在 Amazon Redshift 控制台中显示时，采样平均值会被忽略，仅显示 `HEALTHY` 或 `UNHEALTHY`。在 Amazon CloudWatch 中，由于采样问题，可能出现 1 和 0 以外的值。`HealthStatus` 的所有 1 以下的值均报告为 0 (`UNHEALTHY`)。 <br />单位：计数 (1/0)（在 Amazon Redshift 控制台中为 `HEALTHY`/`UNHEALTHY`）<br />维度：`ClusterIdentifier` | 
| MaintenanceMode | 表示集群是否处于维护模式。 在 Amazon CloudWatch 中，此指标报告为 1 或 0，而在 Amazon Redshift 控制台中，为了方便起见，此指标显示为 `ON` 或 `OFF`。当该指标在 Amazon Redshift 控制台中显示时，采样平均值会被忽略，仅显示 `ON` 或 `OFF`。在 Amazon CloudWatch 中，由于采样问题，可能出现 1 和 0 以外的值。`MaintenanceMode` 的所有 0 以上的值均报告为 1 (`ON`)。 <br />单位：计数 (1/0)（在 Amazon Redshift 控制台中为 `ON``OFF`）。<br />维度：`ClusterIdentifier` | 
| MaxConfiguredConcurrencyScalingClusters | 从参数组配置的最大并发扩展集群数。有关更多信息，请参阅 [Amazon Redshift 参数组](working-with-parameter-groups.md)。<br />单位：计数<br />维度：`ClusterIdentifier` | 
| NetworkReceiveThroughput | 节点或集群接收数据的速率。<br />单位：字节/秒（在 Amazon Redshift 控制台为 MB/s）<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| NetworkTransmitThroughput | 节点或集群写入数据的速率。<br />单位：字节/秒（在 Amazon Redshift 控制台为 MB/s）<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| PercentageDiskSpaceUsed | 已使用磁盘空间的百分比。<br />单位：百分比<br />维度：`ClusterIdentifier`<br />维度: `ClusterIdentifier`, `NodeID`  | 
| QueriesCompletedPerSecond | 每秒完成的平均查询数。每隔 5 分钟报告一次。单节点集群不支持该指标。<br />单位：计数/秒<br />维度: `ClusterIdentifier`, `latency` <br />维度: `ClusterIdentifier`, `wlmid`  | 
| QueryDuration | 完成查询的平均时间量。每隔 5 分钟报告一次。单节点集群不支持该指标。<br />单位：微秒<br />维度：`ClusterIdentifier`、`NodeID`、`latency`<br />维度: `ClusterIdentifier`, `latency` <br />维度：`ClusterIdentifier`、`NodeID`、`wlmid` | 
| QueryRuntimeBreakdown | 查询在各个查询阶段运行所花费的总时间。每隔 5 分钟报告一次。<br />单位：毫秒<br />维度：ClusterIdentifier、NodeID、stage<br />维度：ClusterIdentifier、stage | 
| ReadIOPS | 每秒平均磁盘读取 操作数。<br />单位：计数/秒<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| ReadLatency | 磁盘读取 I/O 操作所需的平均时间。<br />单位：秒<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| ReadThroughput | 每秒从磁盘读取的平均字节数。<br />单位：字节（在 Amazon Redshift 控制台为 GB/s）<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| RedshiftManagedStorageTotalCapacity | 总托管式存储容量。<br />单位：MB<br />维度：`ClusterIdentifier` | 
| TotalTableCount | 在特定时间点打开的用户表的数量。此总数不包括 Amazon Redshift Spectrum 表。<br />单位：计数<br />维度：`ClusterIdentifier` | 
| WLMQueueLength | 等待进入工作负载管理 (WLM) 队列的查询数。<br />单位：计数<br />维度: `ClusterIdentifier`, `service class` <br />维度: `ClusterIdentifier`, `QueueName`  | 
| WLMQueueWaitTime | 在工作负载管理 (WLM) 队列中等待的查询总时间。每隔 5 分钟报告一次。<br />单位：毫秒。<br />维度: `ClusterIdentifier`, `QueryPriority` <br />维度: `ClusterIdentifier`, `wlmid` <br />维度: `ClusterIdentifier`, `QueueName`  | 
| WLMQueriesCompletedPerSecond | 每秒为工作负载管理 (WLM) 队列完成的平均查询数。每隔 5 分钟报告一次。单节点集群不支持该指标。<br />单位：计数/秒<br />维度: `ClusterIdentifier`, `wlmid` <br />维度: `ClusterIdentifier`, `QueueName`  | 
| WLMQueryDuration | 为工作负载管理 (WLM) 队列完成查询的平均时间量。每隔 5 分钟报告一次。单节点集群不支持该指标。<br />单位：微秒<br />维度: `ClusterIdentifier`, `wlmid` <br />维度: `ClusterIdentifier`, `QueueName`  | 
| WLMRunningQueries | 对于每个 WLM 队列，从主集群和并发扩展集群运行的查询数。<br />单位：计数<br />维度: `ClusterIdentifier`, `wlmid` <br />维度: `ClusterIdentifier`, `QueueName`  | 
| WriteIOPS | 每秒平均磁盘写入操作数。<br />单位：计数/秒<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| WriteLatency | 磁盘写入 I/O 操作所需的平均时间。<br />单位：秒<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| WriteThroughput | 每秒写入磁盘的平均字节数。<br />单位：字节（在 Amazon Redshift 控制台为 GB/s）<br />维度: `ClusterIdentifier`, `NodeID` <br />维度：`ClusterIdentifier` | 
| SchemaQuota | 为 schema 配置的配额。<br />单位：MB<br />维度：`ClusterIdentifier`、`Database`、`Schema`<br />周期/推送：`Periodic`<br />频率：`5 minutes`<br />停止条件：已删除 Schema 或移除配额 | 
| NumExceededSchemaQuotas | 超出配额的 schema 数。<br />单位：计数<br />维度：`ClusterIdentifier`<br />周期/推送：`Periodic`<br />频率：`5 minutes`<br />停止标准：不适用 | 
| StorageUsed | schema 使用的磁盘或存储空间。<br />单位：MB<br />维度：`ClusterIdentifier`、`Database`、`Schema`<br />周期/推送：`Periodic`<br />频率：`5 minutes`<br />停止条件：已删除 Schema 或移除配额 | 
| PercentageQuotaUsed | 使用的磁盘或存储空间相对于配置的 schema 配额的百分比。<br />单位：百分比<br />维度：`ClusterIdentifier`、`Database`、`Schema`<br />周期/推送：`Periodic`<br />频率：`5 minutes`<br />停止条件：已删除 Schema 或移除配额 | 
| UsageLimitAvailable | 根据 FeatureType，UsageLimitAvailable 将返回以下内容：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/metrics-listing.html)<br />单位：分钟或 TB<br />维度：`ClusterIdentifier`、`FeatureType`、`UsageLimitId` | 
| UsageLimitConsumed | 根据 FeatureType，UsageLimitConsumed 将返回以下内容：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/metrics-listing.html)<br />单位：分钟或 TB<br />维度：`ClusterIdentifier`、`FeatureType`、`UsageLimitId` | 

## Amazon Redshift 指标的维度
<a name="metrics-filterable-dimensions"></a>

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


|  维度  |  说明  | 
| --- | --- | 
|  latency  | 可能值如下所示：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/metrics-listing.html) | 
|  NodeID  | 筛选条件请求的特定于集群节点的数据。`NodeID` 是“领导”、“共享”或“计算 N”，其中 N 是集群中节点的数目（0、1 等）。“共享”意味着集群只有一个节点，即领导节点和计算节点合并到了一起。<br />针对领导节点和计算节点报告的指标只适用于 `CPUUtilization`、`NetworkTransmitThroughput` 和 `ReadIOPS`。使用 `NodeId` 维度的其他指标只针对计算节点进行报告。 | 
|  ClusterIdentifier  | 筛选条件请求的特定于集群的数据。特定于集群的指标包括 `HealthStatus`、`MaintenanceMode` 和 `DatabaseConnections`。此维度的一般指标（例如，`ReadIOPS`）同样是表示节点指标数据聚合的节点的指标。在解析这些指标时请小心，因为它们是领导节点和计算节点的聚合行为。 | 
|  service class  | `WLM` 服务类的标识符。 | 
|  stage  | 查询的执行阶段。可能的值如下所示：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/metrics-listing.html) | 
|  wlmid  | 工作负载管理队列的标识符。 | 
|  QueryPriority  | 查询的优先级。可能的值包括 `CRITICAL`、`HIGHEST`、`HIGH`、`NORMAL`、`LOW` 和 `LOWEST`。 | 
|  QueueName  | 工作负载管理队列的名称。 | 
|  FeatureType  | 受使用量限额限制的功能。可能的值为 `CONCURRENCY_SCALING`、`CROSS_REGION_DATASHARING` 和 `SPECTRUM`。 | 
|  UsageLimitId  | 使用量限额的标识符。 | 

## Amazon Redshift 查询和加载性能数据
<a name="custom-metrics-listing"></a>

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

查询和加载性能数据不会作为 CloudWatch 指标发布，而只能通过 Amazon Redshift 控制台查看。查询和加载性能数据通过查询数据库的系统表生成（有关更多信息，请参阅《Amazon Redshift 开发人员指南》**中的[系统表参考](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_system-tables.html)）。您也可以生成自己的自定义数据库性能查询，不过我们建议您先从控制台中提供的查询和加载性能数据入手。有关自行测量和监控数据库性能的更多信息，请参阅《Amazon Redshift 开发人员指南》**中的[管理性能](https://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html)。

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


| 查询/加载数据 | 说明 | 
| --- | --- | 
| 查询摘要 | 指定时间段内的查询列表。此列表可以按查询 ID、查询运行时间和状态等值排序。在集群详细信息页面的**查询监控**选项卡中查看此数据。 | 
| 查询详细信息 | 提供某个特定查询的详细信息，包括：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/metrics-listing.html) | 
| 加载摘要 | 列出指定时间段内的所有加载。此列表可以按查询 ID、查询运行时间和状态等值排序。在集群详细信息页面的**查询监控**选项卡中查看此数据。 | 
| 加载详细信息 | 提供有关特定加载操作的详细信息，包括：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/metrics-listing.html) | 