帮你快速理解、总结文档立即下载

TDSTORE_LSM_COMPACTION_PRESSURE

最近更新时间:2026-08-20 15:23:32
我的收藏

功能

INFORMATION_SCHEMA.TDSTORE_LSM_COMPACTION_PRESSURE 用于展示集群中所有 hybrid 节点中,各个 ColumnFamily 的 Compaction 压力和写入限流状态,包括 L0 层文件堆积情况、待 Compaction 数据量、memtable 内存占用及写入限流原因,用于定位具体是哪个 ColumnFamily 导致写入延迟或写入被限速/停止。

适用版本

TDSQL Boundless V21.6.4.0及以上版本。

字段说明

字段名
类型
描述
NODE_NAME
VARCHAR(513)
SQLEngine 节点的名称。
CF_NAME
VARCHAR(193)
ColumnFamily 的名称。
CF_ID
BIGINT UNSIGNED
ColumnFamily 的 ID。
LEVEL0_FILE_COUNT
BIGINT UNSIGNED
L0 层的 SST 文件数量。
LEVEL0_SIZE_BYTES
BIGINT UNSIGNED
L0 层所有 SST 文件的总大小,单位字节。
PENDING_COMPACTION_BYTES
BIGINT UNSIGNED
预估待 Compaction 处理的数据量,单位字节。
ACTIVE_MEMTABLE_BYTES
BIGINT UNSIGNED
当前活跃 memtable 占用的内存大小,单位字节。
ALL_MEMTABLES_BYTES
BIGINT UNSIGNED
包括活跃与不可变 memtable 的总内存占用,单位字节。
NUM_IMMUTABLE_MEMTABLE
BIGINT UNSIGNED
尚未 flush 完成的不可变 memtable 数量。
MEMTABLE_LIMIT_DELAYS
BIGINT UNSIGNED
因 memtable 内存超限而触发写入限速(delay)的累计次数。
MEMTABLE_LIMIT_STOPS
BIGINT UNSIGNED
因 memtable 内存超限而触发写入停止(stop)的累计次数。
DB_WRITE_STALL_STATUS
BIGINT
当前该 ColumnFamily 所属 DB 实例的写入限流状态:0表示 delayed,1表示 stopped,2表示 normal(无限流)。
NEED_SPEEDUP_COMPACTION
BIGINT UNSIGNED
是否需要加速 Compaction,1表示是,0表示否。
WRITE_STALL_REASON
VARCHAR(1024)
触发写入限流的具体原因说明。
BEING_COMPACTED_FILE_COUNT
BIGINT UNSIGNED
该 ColumnFamily 中正在被 Compaction 的文件数量。

使用说明

查询时可通过 WHERE CF_ID = xxx 等值条件进行下推过滤,仅拉取指定 ColumnFamily 的压力数据。TDSTORE_LSM_COMPACTION_PRESSURE 视图没有层级(LEVEL)维度,仅支持 CF_ID 字段的等值条件下推。

示例

查询所有 ColumnFamily 中已触发写入限流(DB_WRITE_STALL_STATUS 不为2)的记录,定位造成写入抖动的具体 ColumnFamily。
tdsql>select node_name, cf_id, cf_name, level0_file_count, pending_compaction_bytes,
db_write_stall_status, write_stall_reason
from information_schema.tdstore_lsm_compaction_pressure
where db_write_stall_status < 2;
+---------------+-------+----------------+--------------------+---------------------------+------------------------+---------------------+
| NODE_NAME | CF_ID | CF_NAME | LEVEL0_FILE_COUNT | PENDING_COMPACTION_BYTES | DB_WRITE_STALL_STATUS | WRITE_STALL_REASON |
+---------------+-------+----------------+--------------------+---------------------------+------------------------+---------------------+
| node-1-001 | 20 | user_region_20 | 42 | 8589934592 | 0 | l0_file_count_limit |
+---------------+-------+----------------+--------------------+---------------------------+------------------------+---------------------+
1 row in set (0.01 sec)
查询指定 ColumnFamily(CF_ID = 20)的完整压力指标。
tdsql>select * from information_schema.tdstore_lsm_compaction_pressure where cf_id = 20\\G
*************************** 1. row ***************************
NODE_NAME: node-1-001
CF_NAME: user_region_20
CF_ID: 20
LEVEL0_FILE_COUNT: 42
LEVEL0_SIZE_BYTES: 2684354560
PENDING_COMPACTION_BYTES: 8589934592
ACTIVE_MEMTABLE_BYTES: 67108864
ALL_MEMTABLES_BYTES: 134217728
NUM_IMMUTABLE_MEMTABLE: 1
MEMTABLE_LIMIT_DELAYS: 0
MEMTABLE_LIMIT_STOPS: 0
DB_WRITE_STALL_STATUS: 0
NEED_SPEEDUP_COMPACTION: 1
WRITE_STALL_REASON: l0_file_count_limit
BEING_COMPACTED_FILE_COUNT: 6
1 row in set (0.01 sec)