的NDB
管理客户的CLUSTERLOG统计
命令可以在输出中提供大量有用的统计信息。提供关于集群状态信息的计数器由事务协调器(TC)和本地查询处理程序(LQH)每隔5秒更新一次报告,并写入集群日志。
事务协调器统计信息。每个事务都有一个事务协调器,由以下方法之一选择:
以循环的方式
通过沟通接近度
通过在事务启动时提供数据放置提示
属性可以确定从给定SQL节点开始的事务使用哪种TC选择方法ndb_optimized_node_selection
系统变量。
同一事务中的所有操作都使用相同的事务协调器,它报告以下统计信息:
反式计数。这是使用此TC作为事务协调器在上一个间隔中启动的事务数。在报告周期结束时,这些事务中的任何一个都可能已提交、已中止或仍未提交。
请注意事务不会在tc之间迁移。
提交数。这是在上一个报告间隔中提交的使用此TC作为事务协调器的事务数。由于在此报告间隔中提交的一些事务可能已经在前一个报告间隔中启动,因此可以
提交数
大于反式数
.读计数。这是在上一个报告间隔中使用此TC作为事务协调器启动的主键读取操作的数量,包括简单读取。该计数还包括作为唯一索引操作的一部分执行的读取。唯一索引读取操作生成2个主键读取操作——1用于隐藏的唯一索引表,1用于读取发生的表。
简单的读计数。这是在上一个报告间隔中启动的使用此TC作为事务协调器的简单读操作的数量。
写数。这是在上一个报告间隔中使用此TC作为事务协调器启动的主键写操作的数量。这包括所有插入、更新、写入和删除,以及作为唯一索引操作一部分执行的写入。
请注意唯一的索引更新操作可以在索引表和基表上生成多个PK读写操作。
AttrInfoCount。这是使用此TC作为事务协调器的主键操作在最后一个报告间隔中接收到的32位数据字数。对于读取,这与请求的列数成比例。对于插入和更新,这与写入的列数和它们的数据大小成比例。对于删除操作,这个值通常为零。
唯一索引操作会生成多个PK操作,因此会增加此计数。但是,数据词的发送是用来描述PK操作本身,以及发送的关键信息不算在这里。发送到描述要读取的扫描列或描述“扫描筛选器”的属性信息也不计算在内
AttrInfoCount
.并发操作。这是使用此TC作为事务协调器的主键或扫描操作的数量,这些操作在上一个报告间隔期间启动,但尚未完成。操作在开始时增加该计数器,在完成时减少该计数器;这发生在事务提交之后。脏读和脏写(以及失败的操作)会使该计数器减值。
最大值
并发操作
can have是一个TC块可以支持的最大操作数;目前,这是(2 * MaxNoOfConcurrentOperations) + 16 + MaxNoOfConcurrentTransactions
.(有关这些配置参数的详细信息,请参见交易参数的部分18.3.3.6节“定义NDB集群数据节点”.)中止计算。这是在上一个报告间隔期间终止的使用此TC作为事务协调器的事务数。由于在上一个报告间隔中中止的一些事务可能在前一个报告间隔中启动,
中止计数
有时可以大于反式数
.扫描。这是在上一个报告间隔期间启动的使用此TC作为事务协调器的表扫描数。这不包括范围扫描(即有序索引扫描)。
扫描范围。这是在上一个报告间隔中启动的使用此TC作为事务协调器的有序索引扫描的数量。
本地读取。这是在保存记录的主副本的节点上使用事务协调器执行的主键读取操作的数量。此计数也可以从
LOCAL_READS
柜台。ndbinfo.counters
表格当地写道。这包含在持有记录的主片段副本的节点上使用事务协调器执行的主键读操作的数量。此计数也可以从
LOCAL_WRITES
柜台。ndbinfo.counters
表格
本地查询处理程序统计信息(操作)。每个本地查询处理程序块有一个集群事件(即每个数据节点进程有一个集群事件)。操作记录在所操作的数据所在的LQH中。
单个事务可以对存储在多个LQH块中的数据进行操作。
的操作
statistic提供了LQH块在最近一个报告间隔内执行的本地操作的数量,包括所有类型的读写操作(插入、更新、写入和删除操作)。这还包括用于复制写的操作。例如,在一个有两个片段副本的集群中,对主片段副本的写记录在主LQH中,对备份副本的写记录在备份LQH中。唯一的键操作可能导致多个本地操作;然而,这确实不包括由于表扫描或有序索引扫描而生成的本地操作,这些操作不被计算在内。
进程调度程序统计信息。除了事务协调器和本地查询处理程序报告的统计信息外,每个ndbd进程有一个调度器,它还提供了与NDB集群性能相关的有用指标。这个调度器在无限循环中运行;在每个循环中,调度器执行以下任务:
将任何来自套接字的传入消息读入作业缓冲区。
检查是否有定时消息要执行;如果是,也把这些放到作业缓冲区中。
(在循环中)执行作业缓冲区中的任何消息。
发送通过执行作业缓冲区中的消息而生成的任何分布式消息。
等待任何新的传入消息。
进程调度器统计信息包括以下内容:
平均循环计数器。这是在前面列表的第三步中执行的循环数。随着TCP/IP缓冲区利用率的提高,该统计数据的大小也会增加。您可以使用它来监视添加新数据节点进程时的性能变化。
平均发送大小和平均接收大小。这些统计数据使您能够评估节点之间分别写和读的效率。这些值以字节为单位给出。数值越高,每字节发送或接收的成本越低;最大值为64K。
中使用以下命令记录所有集群日志统计信息NDB
管理客户端:
ndb_mgm> ALL CLUSTERLOG STATISTICS=15
设置阈值统计数据
到15会导致集群日志变得非常冗长,并且在大小上增长非常快,与集群节点的数量和NDB集群中的活动量成正比。
有关与日志记录和报告相关的NDB集群管理客户端命令的详细信息,请参见第18.5.3.1节“NDB集群日志管理命令”.