As a CTO of a software company, I saw teams struggle with application performance way too often. Many times it led to frustrations and conflicts between developers and administrators. It doesn't matter which DB technology it was MySQL/MariaDB, Postgres, or MongoDB, the pattern was the same.
The development team pointing that bottleneck is on the database side, administrators pointing back at the application, saying that according to monitoring tools like Nagios or Zabbix servers "are bored".
The painful and slow manual process
Usually, troubleshooting means lots of manual work and harnessing tools like query slow log, but still, it doesn't always help
the problem might not come from the single query being slow, but e.g. from relatively quick queries being fired too often,
slow log (especially with a low threshold) has considerable performance penalty on the server,
often issues originate from a sequence of queries and some queries block others or deadlock situations
when a database is not the only service running on the server, the performance drops might come from other services or background tasks like backups,
monitoring tools resolution is often too small to detect short peaks (e.g. sorting data on disk can consume GBs of data and release space after seconds),
Without the right tool which closes the gap between developers and administrators, this process often leads nowhere.
Percona Monitoring and Management solves it all
It surprises me that PMM (Percona Monitoring and Management) is so rarely known among administrators and DevOps teams. Just a few examples of what it can do:
real-time database monitoring with cool dashboards dedicated to database administrators, from helicopter view to deep insight,
a single place to see both server and infrastructure (including detailed IO) stats as well as database performance,
zoom-in, drill-down database performance from node to single query levels. Perform in-depth troubleshooting and performance optimization (see a demo here),
check database configuration and automatically report potential problems,
shows server load split by processes running on the server, so you know whether slow databse is a root cause or is there something else killing the server,
allows to troubleshoot deadlocks and queries waiting for a lock,
correlate queries that were run in a given period with server stats, with database stats.
And above all this, PMM is a free and open-source tool.
The interface of PMM is easy to understand for developers and admins so it naturally becomes a common ground allowing DevOps magic of cooperation to happen.
Literally, It saves my teams tens of hours every month.
Want to try it out? You can grab PMM from the Percona official website: https://www.percona.com/software/database-tools/percona-monitoring-and-management