eG Monitoring
 

Measures reported by MySQLIndbLcTest

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 the 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 MySQLIndbLcTest monitors the locking activity on the InnoDB tables in the database server instance.

This test monitors locking activity on a database server instance

Outputs of the test : One set of results for the MySQL server being monitored

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
innodbLockWaits Indicates the number of times operations that are performed on InnoDB tables had to wait for a row lock. Number A high value of waits can have an adverse impact on application performance. Possible reasons for this behavior could be:
  • inadequate number of locks available in the database,

  • unusually high locking behavior of applications accessing the database,

  • improper database application design, etc.

innodbLockCurrent Indicates the number of row locks that are currently held by operations on InnoDB tables. 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.
d_innodbLockTime Indicates the total time spent in acquiring row locks for InnoDB tables. Seconds  
AverageRowLockWaitTime Indicates the average time taken to acquire row locks for InnoDB tables. 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.
innodbLockMax Indicates the maximum time taken to acquire row locks for InnoDB tables. Seconds