MySQL Cluster InnoDb Lock Test

InnoDB implements standard row-level locking where there are two types of locks, shared ( S ) locks and exclusive ( X ) locks. A shared ( S ) lock permits the transaction that holds the lock to read a row in a table. An exclusive ( X ) lock permits the transaction that holds the lock to update or delete a row.

The locking activity of an InnoDB table in each node of the target cluster database server must be monitored carefully because an application holding a specific lock for a long time could cause a number of other transactions relying on the same lock to fail. The MySQL Cluster InnoDb Lock test monitors the locking activity on the InnoDB tables in each node of the target cluster database server .

Target of the test : A MySQL Cluster

Agent deploying the test : A remote agent

Outputs of the test : One set of results for each node on the target MySQL Cluster database server being monitored

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port at which the specified host listens.

Database

Specify the name of a database on the target MySQL Cluster database server being monitored

Username and Password

The eG agent has to be configured with the credentials of a user who has server-wide Process and Select privileges on the monitored MySQL Cluster database server. To know how to create such a user, refer to Pre-requisites for Monitoring the MySQL Cluster Database Server topic.

Confirm Password

Confirm the password by retyping it here.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

InnoDB lock waits

Indicates the number of times operations that are performed on InnoDB tables of this node had to wait for a row lock.

Number

 

InnoDB current locks

Indicates the number of row locks that are currently held by operations on InnoDB tables of this node.

Number

A high value may indicate one of the following:

  • Too many transactions are happening

  • Locked resources are not being released properly

  • Locks are being held unnecessarily.

InnoDB lock time

Indicates the total time spent in acquiring row locks for InnoDB tables of this node.

Seconds

 

InnoDB average lock time

Indicates the average time taken to acquire row locks for InnoDB tables of this node.

Seconds

Ideally, the value of this measure should be low.

A high value may indicate one of the following:

  • Locked resources are not being released properly

  • Locks are being held unnecessarily.

InnoDB maximum lock time

Indicates the maximum time taken to acquire row locks for InnoDB tables of this node.

Seconds