SolarWinds® Database Performance Monitor (DPM) can now detect deadlocks in MySQL, and generate events that you can use for alerting and notification. It's normal for an ACID transactional database to encounter deadlocks occasionally, but too many deadlocks could signal a variety of problems from SQL, to application behavior, to indexing and more.
The first step towards solving any locking or deadlock problem is to detect it, and DPM detects MySQL deadlocks out-of-the-box. When a deadlock happens, DPM generates an event
to record it. The event includes several useful pieces of information:
- The timestamp
- The query that was terminated to resolve the deadlock
- The query that was allowed to proceed
These events are a first-class datatype in DPM, so they come with lots of added functionality. You can simply click to navigate to the queries involved in the deadlocks, where you can inspect their behavior, sample statements, and EXPLAIN plans among other things; you can o
verlay the events as vertical lines on any chart in the DPM user interface to add visual context to performance variations; and you can configure the events to generate alerts and notifications, including sending notifications through incident management systems such as OpsGenie or others. To view and analyze all of the events in your DPM instance, browse to the Health navigation item on the lefthand nav bar.
DPM's deadlock-detection functionality is automatically built-in and enabled, so there's nothing further you need to do to activate this feature! Feel free to use the in-app chat to get help with deadlocks, as with anything else you encounter.