MySQL Health Checks

Health Check ReportHow confident are you in your production environment?

  • Discover your current problems.
  • Prevent future problems before they occur.

Many fixes are low hanging fruits, as simple as changing a setting in MySQL or rewriting a query. Other problems can be more complex to solve, and I can offer my help. Or you could be lucky, maybe your production databases have no relevant problems. But even in that case, you may want to hear that from an expert.

Important notice:

Because of the current global health situation,
all Federico-Razzoli.com services take place remotely.

How the service works

MySQL Health Checks are very simple for you. Normally health checks are remote, and they happen in the following way.

First, I will have a remote meeting with some DBAs, devops, or system administrators, to find out how you use your databases and what your concerns are. Then I will require an access to your databases and your monitoring systems. I will collect information and metrics, and I will spend one or two days analysing them. I will then deliver a document listing your current and potential problems, my detailed recommendations to fix them, and your safe areas. Eventually, we will have a final meeting, so you can ask me questions about the document.

What you will get

The outcome of the Health Check is a document that covers all aspects of your databases:

  • Hardware or virtual machines
  • OS configuration
  • MySQL configuration, replication topology, backups
  • Schema design (mainly indexes)
  • Most impacting queries
  • Security
  • Optional module: Network

For each area, you will see a set of current problems or potential future problems, based on the metrics I have. For each problem, you will see a clear recommendation on how to solve it.

It is important to understand that Health Checks come with no lock-ins at all. All problems are explained in simple terms. Final recommendations can be followed by any competent professional. While I offer my help, it will not be necessary to fix the problems I will highlight.

During the whole duration of the work, I do my best to guarantee your data security and your privacy. See Consulting Policy for details.

Supported technologies

Technologies covered by this service:

  • MySQL, Percona Server, MariaDB, Galera Cluster
    • Including very old versions: 3.23, 4.0, 4.1, 5.0, …
    • Storage engines: RocksDB/MyRocks, TokuDB, and all the storage engines distributed with MySQL, Percona Server or MariaDB
  • ProxySQL, MySQL Router, HAProxy
  • Service discovery: Consul

A Database Health Check normally covers no more than 3 servers from the same replication chain, or 2 servers and 1 proxy. Service discovery solutions can also be covered.

Benefits

The benefits of a Health Check are:

  • List of current/potential problems, with their priorities.
  • List of low-effort improvements, that you can apply quickly.
  • Identify the problematic areas that need improvements, plan future work.
  • Fix mistakes and bad practices.
  • You will gain a better understanding of your database technologies.

Next steps

Investigations on specific complex problems are not part of a Database Health Check. After we discuss your problems, I can offer my support to implement solutions, but this is not part of a Database Health Check.

As mentioned before, further assistance is purely optional and not necessary to apply my recommendations.

Network health check

Network Health Check are performed by an expert Network Engineer. It aims to provide analysis and recommendations concerning the following aspects:

  • Network reliability;
  • Network latency;
  • Security.

This service can be vital in some situations. For example, consider it if your database servers need to quickly respond client requests, or if your cluster performs a non-trivial amount of writes per second.

A Network Health Check is not included in the basic price.

For more information about this topic, see Network consulting.

Cost and timing

Usually, the price of this service is 1,300 GBP.

The work is articulated in two phases:

  • Metrics collection. 2 days since the moment the proper technologies have been setup.
  • Metrics analysis. 3 working days.
  • A wrap-up call, to be scheduled.

These are indicative timings. The final document’s due date will be agreed before the start of the work.

The cost and timing are higher for onsite health checks, and health checks on more than two servers.

Other factors that may affect the cost are the use of non-common technologies or very old software versions. The reason is that this may require some research.

Regular Health Checks

Database workloads change over time, because applications change and the user base increases. Repeating health checks periodically is a good idea to discover problems – or potential problems – that couldn’t be foreseen some months before.

When scheduling multiple Health Checks in one year, a discount can be negotiated.

← Back to Services