的NDB
管理客户的CLUSTERLOG统计
命令可以在其输出中提供许多有用的统计信息。提供关于集群状态信息的计数器每隔5秒由事务协调器(TC)和本地查询处理程序(LQH)更新一次,并写入集群日志。
事务协调员统计数据。每个事务都有一个事务协调器,由以下方法之一选择:
以循环的方式
通过通信距离
通过在事务启动时提供数据放置提示
方法可以确定从给定SQL节点开始的事务使用哪种TC选择方法ndb_optimized_node_selection
系统变量。
同一个事务中的所有操作都使用同一个事务协调器,它报告以下统计数据:
反式计数。这是使用此TC作为事务协调器在上一个间隔中启动的事务数。在报告间隔结束时,这些事务中的任何事务都可能已提交、已中止或仍未提交。
请注意事务不会在tc之间迁移。
提交数。这是在上一个报告间隔内提交的使用此TC作为事务协调器的事务数。因为在此报告间隔中提交的一些事务可能已经在前一个报告间隔中启动,因此可能
提交数
比…大反式数
.读计数。这是在上一个报告间隔内启动的使用此TC作为事务协调器的主键读取操作的数量,包括简单读取。该计数还包括作为唯一索引操作的一部分执行的读取。一个唯一索引读取操作生成2个主键读取操作—1用于隐藏的唯一索引表,1用于进行读取的表。
简单的读计数。这是在上一个报告间隔内启动的使用此TC作为事务协调器的简单读操作的数量。
写数。这是在上一个报告间隔内启动的使用此TC作为事务协调器的主键写操作的数量。这包括所有插入、更新、写和删除,以及作为惟一索引操作一部分执行的写操作。
请注意一个惟一的索引更新操作可以在索引表和基表上生成多个PK读和写操作。
AttrInfoCount。这是使用此TC作为事务协调器的主键操作在最近的报告间隔中接收到的32位数据字数。对于读,这与请求的列数成正比。对于插入和更新,这与写入的列数和它们的数据大小成正比。对于删除操作,这通常是零。
唯一索引操作会生成多个PK操作,因此会增加此计数。然而,用来描述PK操作本身的数据字,以及发送的关键信息,则是不算在这里。发送来描述要为扫描而读取的列或描述ScanFilters的属性信息也不计算在内
AttrInfoCount
.并发操作。这是在上一次报告间隔期间启动但未完成的使用此TC作为事务协调器的主键或扫描操作的数量。操作在启动时增加该计数器,在完成时减少该计数器;这发生在事务提交之后。脏的读和写—以及失败的操作—会减少此计数器。
所得到的最大值
并发操作
can have是一个TC块可以支持的最大操作数;目前,这是(2 * MaxNoOfConcurrentOperations) + 16 + MaxNoOfConcurrentTransactions
.(有关这些配置参数的更多信息,请参见交易参数的部分第23.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集群管理客户端命令的更多信息,请参见第23.5.3.1节“NDB集群日志管理命令”.