Tymoteusz Motylewski

Aug 14, 2022

The single free database tool to improve and monitor performance. Every MySQL, PostgreSQL, or MongoDB admin should know it

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

Tymoteusz Motylewski

Founder and CTO of Macopedia - a 100% bootstrapped web agency. Writing about e-commerce, challenges of digital transformation, and software development.