Showing entries 1 to 10 of 271
10 Older Entries »
Displaying posts with tag: monitoring (reset)
MySQL Performance Monitoring: Best Practices

Is your MySQL database running at its best? While MySQL is known for its reliability and ease of use, ensuring top-notch performance is crucial. One way to do that is through performance monitoring, an essential practice for identifying bottlenecks, maintaining optimal speed, and guaranteeing a seamless user experience. Effective monitoring not only helps in detecting […]

Understanding Basic Flow Control Activity in MySQL Group Replication: Part One

Flow control is not a new term, and we have already heard it a lot of times in Percona XtraDB Cluster/Galera-based environments.  In very simple terms, it means the cluster node can’t keep up with the cluster write pace. The write rate is too high, or the nodes are oversaturated. Flow control helps avoid excessive […]

Percona Monitoring and Management Setup on Kubernetes with NGINX Ingress for External Databases

It’s a common scenario to have a Percona Monitoring and Management (PMM) server running on Kubernetes and also desire to monitor databases that are running outside the Kubernetes cluster. The Ingress NGINX Controller is one of the most popular choices for managing the inbound traffic to K8s. It acts as a reverse proxy and load […]

MySQL 101: How to Find and Tune a Slow MySQL Query

This blog was originally published in June 2020 and was updated in April 2024. One of the most common support tickets we get at Percona is the infamous “database is running slower” ticket.  While this can be caused by a multitude of factors, it is more often than not caused by a bad or slow […]

How to Use MySQL Performance Schema to Troubleshoot and Resolve Server Issues

This blog was originally published in January 2023 and was updated in April 2024. Recently I was working with a customer wherein our focus was to carry out a performance audit of their multiple MySQL database nodes. We started looking into the stats of the performance schema. While working, the customer raised two interesting questions: […]

MySQL Performance Monitoring and Key Performance Indicators (KPI) With PMM

This blog was originally published in June of 2023 and updated in April of 2024.As a MySQL database administrator, keeping a close eye on the performance of your MySQL server is crucial to ensure optimal database operations. A monitoring tool like Percona Monitoring and Management (PMM) is a popular choice among open source options for […]

Kubernetes Observability: Code Profiling With Flame Graphs

In this blog post, we’ll review how to run Linux profilers such as perf and produce flame graphs on Kubernetes environments.

Flame graphs are a graphical representation of function calls. It shows which code paths are more busy on the CPU in given samples. They can be generated with any OS profiler that contains stack traces such as perf, eBPF, and SystemTap.

An example of a flame graph can be found below:

Each box is a function in the stack, and wider boxes mean more time the system was busy on CPU on these functions.

Kubernetes limitations

In Linux, by default, performance system events can’t be collected by unprivileged users. In regular environments, this can be easily worked around by running the profiler with a sudo privilege.

On the other hand, in Kubernetes environments, pods are the smallest deployable unit that consists of one or more containers. Exploits are generally targeted to …

[Read more]
MySQL Performance Tuning 101: Key Tips to Improve MySQL Database Performance

This post was originally published in June 2020 and was updated in September 2023.

While there is no magic bullet for MySQL performance tuning, there are a few areas that can be focused on upfront that can dramatically improve the performance of your MySQL installation. While much information has been published on this topic over the years, I wanted to break down some of the more critical settings that anyone can implement with no guesswork required.

Depending on the version of MySQL you are running, some of the default values used in this post may differ from your install, but the premise is still largely the same.

What are the Benefits of MySQL Performance Tuning?

MySQL performance tuning offers several significant advantages for effective database management and optimization. Let’s explore these benefits in …

[Read more]
MySQL Capacity Planning

As businesses grow and develop, the requirements that they have for their data platform grow along with it. As such, one of the more common questions I get from my clients is whether or not their system will be able to endure an anticipated load increase. Or worse yet, sometimes I get questions about regaining normal operations after a traffic increase caused performance destabilization.

As the subject of this blog post suggests, this all comes down to proper capacity planning. Unfortunately, this topic is more of an art than a science, given that there is really no foolproof algorithm or approach that can tell you exactly where you might hit a bottleneck with server performance. But we can discuss common bottlenecks, how to assess them, and have a better understanding as to why proactive monitoring is so important when it comes to responding to traffic growth.

Hardware considerations

The first thing we have to consider …

[Read more]
How to Monitor Your MySQL Database Restore Progress

Restoring a MySQL database backup is a crucial task that can sometimes be time-consuming, especially for large databases. Monitoring the progress of the restore process is essential to estimate completion time and ensure everything is proceeding smoothly.

In this blog post, we will explore two distinct and effective methods to calculate the percentage progress of the MySQL restore process.

  • Linux native Input/Output (I/O) statistics
  • Pipe viewer utility

By following these approaches, we can effectively monitor the restoration process and manage your MySQL database restoration efficiently.

Monitoring MySQL database restore progress using Linux native Input/Output (I/O) statistics

We would use the /proc/<pid>/io file, which contains the IO statistics for each running process. For this particular case, we would use the pid of the MySQL restore process, which can provide …

[Read more]
Showing entries 1 to 10 of 271
10 Older Entries »