counters
表提供了针对特定内核块和数据节点的事件(例如读取和写入)的运行总数。计数从最近一次节点启动或重启开始保留;节点启动或重启会重置该节点上的所有计数器。并非所有内核块都具有所有类型的计数器。
counters
表包含以下列
node_id
数据节点 ID
block_name
关联的 NDB 内核块的名称(请参阅 NDB 内核块)。
block_instance
块实例
counter_id
计数器的内部 ID 号;通常是一个介于 1 到 10 之间的整数(含)。
counter_name
计数器的名称。有关各个计数器的名称以及每个计数器关联的 NDB 内核块,请参见正文。
val
计数器的值
注意
每个计数器都与一个特定的 NDB 内核块相关联。
OPERATIONS
计数器与 DBLQH
(本地查询处理程序)内核块相关联。主键读取计为一次操作,主键更新也计为一次操作。对于读取,DBLQH
中的每次操作在 DBTC
中都有一次操作。对于写入,每个分片副本计为一次操作。
ATTRINFO
、TRANSACTIONS
、COMMITS
、READS
、LOCAL_READS
、SIMPLE_READS
、WRITES
、LOCAL_WRITES
、ABORTS
、TABLE_SCANS
和 RANGE_SCANS
计数器与 DBTC
(事务协调器)内核块相关联。
LOCAL_WRITES
和 LOCAL_READS
是使用事务协调器在也保存记录的主分片副本的节点上执行的主键操作。
READS
计数器包括所有读取操作。LOCAL_READS
仅包括对与该事务协调器位于同一节点上的主分片副本的读取操作。SIMPLE_READS
仅包括那些读取操作是给定事务的开始和结束操作的读取操作。简单读取不持有锁,但属于事务的一部分,因为它们观察包含它们的 but not of any other uncommitted transactions 的事务所做的未提交更改。从 TC 块的角度来看,此类读取是“简单”的;由于它们不持有锁,因此它们不是持久的,并且一旦 DBTC
将它们路由到相关的 LQH 块,它就不会为它们保留任何状态。
ATTRINFO
统计将解释程序发送到数据节点的次数。有关 NDB
内核中 ATTRINFO
消息的更多信息,请参阅 NDB 协议消息。
LOCAL_TABLE_SCANS_SENT
、READS_RECEIVED
、PRUNED_RANGE_SCANS_RECEIVED
、RANGE_SCANS_RECEIVED
、LOCAL_READS_SENT
、CONST_PRUNED_RANGE_SCANS_RECEIVED
、LOCAL_RANGE_SCANS_SENT
、REMOTE_READS_SENT
、REMOTE_RANGE_SCANS_SENT
、READS_NOT_FOUND
、SCAN_BATCHES_RETURNED
、TABLE_SCANS_RECEIVED
和 SCAN_ROWS_RETURNED
计数器与 DBSPJ
(选择下推连接)内核块相关联。
block_name
和 block_instance
列分别提供适用的 NDB 内核块名称和实例号。您可以使用这些信息从 threadblocks
表中获取有关特定线程的信息。
在排除此类问题时,许多计数器提供有关传输器过载和发送缓冲区大小的信息。对于每个 LQH 实例,以下列表中的每个计数器都有一个实例
LQHKEY_OVERLOAD
:由于传输器过载,在 LQH 块实例中拒绝的主键请求数LQHKEY_OVERLOAD_TC
:LQHKEY_OVERLOAD
实例的计数,其中 TC 节点传输器过载LQHKEY_OVERLOAD_READER
:LQHKEY_OVERLOAD
实例的计数,其中 API 读取器(仅读取)节点过载。LQHKEY_OVERLOAD_NODE_PEER
:LQHKEY_OVERLOAD
实例的计数,其中下一个备份数据节点(仅写入)过载LQHKEY_OVERLOAD_SUBSCRIBER
:LQHKEY_OVERLOAD
实例的计数,其中事件订阅服务器(仅写入)过载。LQHSCAN_SLOWDOWNS
:由于扫描 API 传输器过载而减少分片扫描批大小的实例数。