by Francisco Bordenave | Jan 2, 2024 | Insight for DBAs, MySQL
TL&DR: Depending on the workload, the thread pool plugin can cause serious performance drops.This post was motivated by two recent cases I’ve worked with. Two setups running in cluster mode: one in MariaDB+Galera and one with Percona XtraDB Cluster (Percona... by Francisco Bordenave | May 1, 2023 | Cloud, Insight for DBAs, MySQL
Default settings can help you get started quickly – but they can also cost you performance and a higher cloud bill at the end of the month. Want to save money on your AWS RDS bill? I’ll show you some MySQL settings to tune to get better performance, and... by Francisco Bordenave | Mar 24, 2022 | Insight for DBAs, MySQL
For a very long part of its history, MySQL replication has been limited in terms of performance. Because there was no way of knowing if transactions or updates were independent, the updates had to be executed on a replica following the exact same sequence of... by Francisco Bordenave | Jan 5, 2022 | Insight for DBAs, MySQL
Recently we were asked to check the performance of the new family of AMD EPYC processors when using MySQL in Google Cloud Virtual Machines. This was motivated by a user running MySQL in the N1 machines family and willing to upgrade to N2D generation considering the... by Francisco Bordenave | Sep 21, 2021 | Benchmarks, Cloud, Insight for DBAs, MySQL
Primary Key design is an important thing for InnoDB performance, and choosing a poor PK definition will have an impact on performance and also write propagation in databases. When this comes to Aurora, this impact is even worse than you may notice.In short, we... by Francisco Bordenave | Apr 27, 2021 | Insight for DBAs, MySQL
DBAs are important cogs in the availability, performance, and security of your data. Getting a great DBA is one of the most important things any company can do to ensure their database operations continue working without a problem. So how do you find great... by Francisco Bordenave | Sep 30, 2020 | Insight for DBAs, MySQL, Storage Engine
In this post, we will discuss what to do when you add more memory to your instance. Adding memory to a server where MySQL is running is common practice when scaling resources. First, Some Context Scaling resources is just adding more resources to your environment, and... by Francisco Bordenave | May 14, 2020 | Insight for DBAs, MySQL
In this post, the third in a series explaining the internals of InnoDB flushing, we’ll focus on tuning. (Others in the series can be seen at InnoDB Flushing in Action for Percona Server for MySQL and Give Love to Your SSDs – Reduce... by Francisco Bordenave | Jan 22, 2020 | Insight for DBAs, MySQL, Percona Software, Storage Engine
As the second part of the earlier post Give Love to Your SSDs – Reduce innodb_io_capacity_max! we wanted to put together some concepts on how InnoDB flushing works in recent Percona Server for MySQL versions (8.0.x prior to 8.0.19, or 5.7.x). It is important to... by Francisco Bordenave | Dec 18, 2019 | Insight for DBAs, MySQL, Storage Engine
The innodb_io_capacity and innodb_io_capacity_max are often misunderstood InnoDB parameters. As consultants, we see, at least every month, people setting this variable based on the top IO write specifications of their storage. Is this a correct choice? Is it an... by Francisco Bordenave | Feb 12, 2019 | MariaDB, MySQL
Recently, I had to work on an emergency for a customer who was having a problem restarting a MariaDB Galera Cluster. After a failure in the cluster they decided to restart the cluster entirely following the right path: bootstrapping the first node, and then adding the... by Francisco Bordenave | Jan 7, 2019 | MySQL
Since 5.7.12 MySQL includes what is called the X plugin, but also it includes X protocol and X DevApi. But what is all this and how does it work? Let me share a personal short story on how I found myself investigating this feature. In a previous post I wrote... by Francisco Bordenave | Jul 20, 2018 | Insight for DBAs, Insight for Developers, MySQL
Welcome to the third part of this series. I’m glad you’re still reading, as hopefully this means you find this subject interesting at least. Previously we presented the first two components of MySQL InnoDB Cluster: Group Replication and MySQL... by Francisco Bordenave | Jul 16, 2018 | Insight for DBAs, MySQL, Open Source
MySQL InnoDB Cluster is an Oracle High Availability solution that can be easily installed over MySQL to provide high availability with multi-master capabilities and automatic failover. In the previous post we presented the first component of InnoDB... by Francisco Bordenave | Jul 9, 2018 | Insight for DBAs, MySQL
Since MySQL 5.7 we have a new player in the field, MySQL InnoDB Cluster. This is an Oracle High Availability solution that can be easily installed over MySQL to get High Availability with multi-master capabilities and automatic failover.This solution consists in 3... by Francisco Bordenave | Apr 10, 2018 | Insight for DBAs, MySQL
In this blog post, we’ll look at options for migrating database charsets to utf8mb4.Migrating charsets, in my opinion, is one of the most tedious tasks in a DBA’s life. There are so many things involved that can screw up our data, making it work is always... by Francisco Bordenave | Nov 11, 2016 | MySQL
by Francisco Bordenave | Oct 29, 2015 | Insight for DBAs, MySQL
During the last few weeks I’ve been testing and playing a bit with the new group-replication plugin available for MySQL 5.7. Before continuing I’d like to clarify some aspects: the plugin is only available in labs and is not yet ready for production.... by Francisco Bordenave | Jul 29, 2015 | Benchmarks, Insight for DBAs, MySQL
MySQL 5.7 comes with a new set of features and multi-source replication is one of them. In few words this means that one slave can replicate from different masters simultaneously.During the last couple of months I’ve been playing a lot with this trying to... by Francisco Bordenave | May 4, 2015 | Insight for DBAs, MariaDB, MySQL
MySQL replication isn’t perfect and sometimes our data gets out of sync, either by a failure in replication or human intervention. We are all familiar with Percona Toolkit’s pt-table-checksum and pt-table-sync to help us check and fix data inconsistencies...