STV_PARTITIONS
使用 STV_PARTITIONS 表可了解 Amazon Redshift 的磁盘速度性能和磁盘利用率。
STV_PARTITIONS 中的一行对应每个节点的一个逻辑磁盘卷。
STV_PARTITIONS 仅对超级用户可见。有关更多信息,请参阅 系统表和视图中的数据可见性。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
owner | integer | 拥有分区的磁盘节点。 |
host | integer | 物理上附加到分区的节点。 |
diskno | integer | 包含分区的磁盘。 |
part_begin | bigint | 分区的偏移量。以逻辑方式将原始设备分区到镜像块的开放空间。 |
part_end | bigint | 分区末尾。 |
used | integer | 分区上当前使用的 1 MB 磁盘块的数目。 |
tossed | integer | 已准备好可删除,但由于释放块的磁盘地址的做法不安全而尚未移除的块的数目。如果立即释放了这些地址,挂起的事务便可写入磁盘上的同一位置。因此,这些被丢弃的块会在下次提交时释放。磁盘块可能会标记为“被丢弃”,例如,在执行 INSERT 操作或基于磁盘的查询操作期间删除表列时。 |
capacity | integer | 分区的总容量(1 MB 磁盘块数)。 |
reads | bigint | 自上次集群重新启动以来发生的读取数。 |
writes | bigint | 自上次集群重新启动以来发生的写入数。 |
seek_forward | integer | 不是请求下一地址的次数(前一请求地址给定)。 |
seek_back | integer | 不是请求前一地址的次数(下一地址给定)。 |
is_san | integer | 分区是否属于 SAN。有效值为 0 (false) 或 1 (true)。 |
failed | integer | 此列已弃用。 |
mbps | integer | 磁盘速度(MB/秒)。 |
mount | character(256) | 设备的目录路径。 |
示例查询
以下查询返回已用磁盘空间和容量(1 MB 磁盘块数),并计算磁盘利用率(占原始磁盘空间的百分比)。原始磁盘空间包括 Amazon Redshift 保留供内部使用的空间,因此它大于名义磁盘容量(可供用户使用的磁盘空间量)。Amazon Redshift 管理控制台的性能选项卡上的已用磁盘空间百分比指标报告集群使用的名义磁盘容量的百分比。建议您监控 Percentage of Disk Space Used 指标以维持集群的名义磁盘容量的使用量。
重要
我们强烈建议您不要超过集群的名义磁盘容量。尽管这在某些情况下在技术上可能是可行的,但超过名义磁盘容量会降低集群的容错能力并增加丢失数据的风险。
此示例是在两个节点组成的集群上运行的(每个节点有六个逻辑磁盘分区)。各磁盘的空间使用非常平均,每个磁盘大约使用 25%。
select owner, host, diskno, used, capacity, (used-tossed)/capacity::numeric *100 as pctused from stv_partitions order by owner; owner | host | diskno | used | capacity | pctused -------+------+--------+--------+----------+--------- 0 | 0 | 0 | 236480 | 949954 | 24.9 0 | 0 | 1 | 236420 | 949954 | 24.9 0 | 0 | 2 | 236440 | 949954 | 24.9 0 | 1 | 2 | 235150 | 949954 | 24.8 0 | 1 | 1 | 237100 | 949954 | 25.0 0 | 1 | 0 | 237090 | 949954 | 25.0 1 | 1 | 0 | 236310 | 949954 | 24.9 1 | 1 | 1 | 236300 | 949954 | 24.9 1 | 1 | 2 | 236320 | 949954 | 24.9 1 | 0 | 2 | 237910 | 949954 | 25.0 1 | 0 | 1 | 235640 | 949954 | 24.8 1 | 0 | 0 | 235380 | 949954 | 24.8 (12 rows)