counters table provides running totals of
events such as reads and writes for specific kernel blocks and
data nodes. Counts are kept from the most recent node start or
restart; a node start or restart resets all counters on that
node. Not all kernel blocks have all types of counters.
The following table provides information about the columns in
counters table. For each column, the
table shows the name, data type, and a brief description.
Additional information can be found in the notes following the
Table 7.21 Columns of the counters table
||integer||The data node ID|
||string||Name of the associated NDB kernel block (see NDB Kernel Blocks).|
||integer||The counter's internal ID number; normally an integer between 1 and 10, inclusive.|
||string||The name of the counter. See text for names of individual counters and the NDB kernel block with which each counter is associated.|
||integer||The counter's value|
Each counter is associated with a particular
NDB kernel block. Prior to NDB 7.2.0, this
was limited to either the
DBLQH kernel block
DBTC kernel block. In NDB 7.2.0 and
later, a number of counters relating to the
DBSPJ kernel block are also available; these
counters are described later in this section.
OPERATIONS counter is associated with the
DBLQH (local query handler) kernel block (see
The DBLQH Block). A
primary-key read counts as one operation, as does a primary-key
update. For reads, there is one operation in
DBLQH per operation in
DBTC. For writes, there is one operation
counted per replica.
RANGE_SCANS counters are associated with the
DBTC (transaction co-ordinator) kernel block (see
The DBTC Block).
LOCAL_READS are primary-key operations using
a transaction coordinator in a node that also holds the primary
replica of the record.
READS counter includes all reads.
LOCAL_READS includes only those reads of the
primary replica on the same node as this transaction
SIMPLE_READS includes only those
reads in which the read operation is the beginning and ending
operation for a given transaction. Simple reads do not hold
locks but are part of a transaction, in that they observe
uncommitted changes made by the transaction containing them but
not of any other uncommitted transactions. Such reads are
“simple” from the point of view of the TC block;
since they hold no locks they are not durable, and once
DBTC has routed them to the relevant LQH
block, it holds no state for them.
ATTRINFO keeps a count of the number of times
an interpreted program is sent to the data node. See
NDB Protocol Messages, for more
ATTRINFO messages in the
NDB 7.2.0, as part of its implementation of distributed
pushed-down joins, adds the
SCAN_ROWS_RETURNED counters. These counters
are associated with the
push-down join) kernel block (see
The DBSPJ Block).
block_instance columns provide, respectively,
the applicable NDB kernel block name and instance number. You
can use these to obtain information about specific threads from
A number of counters increasing the visibility of transporter overload and send buffer sizing when troubleshooting such issues were added in NDB 7.2.10. (Bug #15935206) For each LQH instance, there is one instance of each counter in the following list:
LQHKEY_OVERLOAD: Number of primary key requests rejected at the LQH block instance due to transporter overload
LQHKEY_OVERLOAD_TC: Count of instances of
LQHKEY_OVERLOADwhere the TC node transporter was overloaded
LQHKEY_OVERLOAD_READER: Count of instances of
LQHKEY_OVERLOADwhere the API reader (reads only) node was overloaded.
LQHKEY_OVERLOAD_NODE_PEER: Count of instances of
LQHKEY_OVERLOADwhere the next backup data node (writes only) was overloaded
LQHKEY_OVERLOAD_SUBSCRIBER: Count of instances of
LQHKEY_OVERLOADwhere a event subscriber (writes only) was overloaded.
LQHSCAN_SLOWDOWNS: Count of instances where a fragment scan batch size was reduced due to scanning API transporter overload.