21.5.14.22 ndbinfo locks_per_fragmenttable

locks_per_fragmenttable 提供有关锁定声明请求的数量以及这些请求在每个片段基础上的结果的信息,用作operations_per_fragmentmemory_per_fragment的伴随 table。该 table 还显示了从创建片段或 table 或自从最近重新启动以来成功和不成功地 await 锁所花费的总时间。

locks_per_fragmenttable 包含以下列:

完全限定的 table 名

父对象的全限定名称

table 类型;请参阅 Literals 以获取可能的值

Table ID

报告节点 ID

LDM 实例 ID

Fragment identifier

互斥锁定请求已开始

立即授予排他锁请求

await 后授予排他锁定请求

未授予排他锁定请求

共享锁请求已启动

立即授予共享锁请求

await 后授予共享锁请求

未授予共享锁请求

await 已批准的锁定请求所花费的时间(以毫秒为单位)

await 锁定请求失败的时间(以毫秒为单位)

Notes

block_instance指内核块的实例。连同块名一起,该数字可用于在threadblockstable 中查找给定的实例。

fq_name是标准格式的数据库对象名称,格式为database / schema / name *格式,例如test/def/t1sys/def/10/b$unique

parent_fq_name是该对象的父对象(table)的标准名称。

table_idNDB生成的 table 的内部 ID。这与其他ndbinfotable 中显示的内部 tableID 相同;在ndb_show_tables的输出中也可见。

type列显示 table 的类型。这始终是System tableUser tableUnique hash indexHash indexUnique ordered indexOrdered indexHash index triggerSubscription triggerRead only constraintIndex triggerReorganize triggerTablespaceLog file groupData fileUndo fileHash mapForeign key definitionForeign key parent trigger,_20 之一。

ex_reqex_req_imm_okex_wait_okex_wait_failsh_reqsh_req_imm_oksh_wait_oksh_wait_fail列中显示的所有值 table 示自创建 table 或片段以来或自该节点最后一次重启以来的请求累计数量。后来。对于wait_ok_milliswait_fail_millis列中显示的时间值也是如此。

每个锁定请求都被视为正在进行中或已以某种方式完成(即成功或失败)。这意味着以下关系是正确的:

ex_req >= (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)

sh_req >= (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)

当前正在进行的请求数是当前未完成的请求数,可以在此处找到:

[exclusive lock requests in progress] =
    ex_req - (ex_req_imm_ok + ex_wait_ok + ex_wait_fail)

[shared lock requests in progress] =
    sh_req - (sh_req_imm_ok + sh_wait_ok + sh_wait_fail)

await 失败 table 示事务已中止,但中止可能是也可能不是由锁定 await 超时引起的。您可以在 await 锁定时获得中止的总数,如下所示:

[aborts while waiting for locks] = ex_wait_fail + sh_wait_fail

locks_per_fragmenttable 已添加到 NDB 7.5.3 中。

首页