版本:latest

GLOBAL_THREAD_IO_STAT ​

提供openGauss中所有正常节点按线程角色类型统计的IO信息。

IO统计按“线程IO角色、IO操作对象、IO操作上下文”三个维度组合进行,每个统计项对应一组唯一的“角色+对象+上下文”组合;各维度取值及含义分别见表4(线程IO角色)、表2(IO操作对象)和表3(IO操作上下文)。

表 1 GLOBAL_THREAD_IO_STAT字段

名称

类型

描述

node_name

name

节点名称。

io_role_id

integer

线程IO角色编号。取值及对应名称见表4。

role_name

text

线程IO角色名称。与io_role_id的对应关系见表4。

object_name

text

IO操作对象名称。取值及描述见表2。

context_name

text

IO操作上下文名称。取值及描述见表3。

num_reads

bigint

读操作次数。

num_writes

bigint

写操作次数。

bytes_read

bigint

读取的字节数。

bytes_written

bigint

写入的字节数。

read_time_ms

double precision

读操作累计耗时(单位:毫秒)。

write_time_ms

double precision

写操作累计耗时(单位:毫秒)。

writebacks

bigint

回写操作次数。

writeback_time_ms

double precision

回写操作累计耗时(单位:毫秒)。

max_writeback_time_ms

double precision

最大回写操作耗时(单位:毫秒)。

extend_bytes

bigint

文件扩展的大小(单位:字节)。

extend_time_ms

double precision

文件扩展累计耗时(单位:毫秒)。

max_extend_time_ms

double precision

最大文件扩展耗时(单位:毫秒)。

hits

bigint

缓存命中次数。

evictions

bigint

缓存淘汰次数。

reuses

bigint

缓存复用次数。

fsyncs

bigint

fsync操作次数。

total_fsync_time_ms

double precision

fsync操作累计耗时(单位:毫秒)。

max_read_time_ms

double precision

最大读操作耗时(单位:毫秒)。

max_write_time_ms

double precision

最大写操作耗时(单位:毫秒)。

表 2 IO操作对象类型(object_name)取值及描述

取值

描述

Relation

普通关系(表、索引等数据文件)的IO。

TempRelation

临时关系文件的IO。

Wal

WAL日志文件的IO。

Undo

回滚段(undo)文件的IO。

Archive

归档文件的IO。

Other

其他对象的IO(默认值)。

表 3 IO操作上下文类型(context_name)取值及描述

取值

描述

Normal

常规单点读写IO。

BulkRead

批量读取IO,如预取、全表扫描。

BulkWrite

批量写入IO,如COPY导入。

Vacuum

垃圾回收(VACUUM)IO。

Recovery

崩溃恢复回放IO。

Replication

主备复制IO。

Unknown

无法识别的上下文(默认值)。

表 4 线程IO角色编号(io_role_id)与名称(role_name)对应关系

io_role_id

role_name

描述

0

Worker

后端工作线程:处理用户SQL读写IO(含线程池工作线程)。

1

WalSender

WAL发送线程:读取WAL段文件并通过网络发送。

2

Checkpointer

检查点线程:脏页写回及文件fsync。

3

BgWriter

后台写线程:脏页写回。

4

AutoVacWorker

自动清理工作线程:数据页读写。

5

Startup

启动(恢复)线程:redo回放读取IO。

6

WalWriter

WAL写线程:WAL段文件写入(含辅助段预分配)。

7

WalRcvWriter

WAL接收写线程:备机WAL落盘;WALRECEIVER自身不写磁盘。

8

Archiver

归档线程:读取WAL段文件并写入归档文件。

9

UndoWorker

Ustore回滚段(undo)工作/回收线程。

10

Catchup

数据页复制追赶线程:顺序读取数据页,类似DataRcvWriter。

11

ParallelDecode

并行逻辑解码线程:读取WAL进行解码。

12

ApplyWorker

逻辑复制apply工作线程:读写数据页。

13

DataRcvWriter

数据页复制接收/写线程。

14

PageWriter

页压缩写线程。

15

BgWorker

通用后台工作线程:IO取决于其注册的任务。