Just yesterday I wrote about math of automatic failover today I’ll share my thoughts about what makes MySQL failover different from many other components and why asynchronous nature of standard replication solution is causing problems with it. Lets first think about properties of simple components we fail over – web servers, application servers etc. We [...]
The Math of Automated Failover
There are number of people recently blogging about MySQL automated failover, based on production incident which GitHub disclosed. Here is my take on it. When we look at systems providing high availability we can identify 2 cases of system breaking down. First is when the system itself has a bug or limitations which does not [...]
Distro Packages, Pre-built Binaries or Compile Your Own MySQL
I’ve been helping customers deploy and maintain MySQL (and variants) for the last couple of years and it has always been interesting to hear customer thoughts on how they want their servers installed. It has also been asked many times not only by our support and consulting customers, but widely from different forums and blogs [...]
Benchmarks challenges of XtraDB Cluster
We are running internally a lot of benchmarks on our recently announced Percona XtraDB Cluster, and I am going to publish these results soon. But before that I wanted to mention that proper benchmark of distributed system comes with a lot of challenges. I am saying that not to complain, but to make sure, if [...]
Percona Toolkit 2.0.1 and 1.0.2 released
I’m happy to announce that we’ve released Percona Toolkit 2.0.1, a major new version of our essential DBA toolkit, as well as a minor bugfix update to the old 1.0.x series. You can download it from the project homepage, or install it through our RPM and DEB repositories. Documentation is online (and the 1.0 docs [...]
XtraBackup 1.6.4 respin
Very shortly after the XtraBackup 1.6.4 binaries hit the downloads site and repositories, it was found to have a bug where the master information was not properly stored, thus breaking point in time recovery and the ability to start a slave from a backup. This was caught and fixed really quickly and we’ve re-spun the [...]
Percona Testing: Innodb crash / recovery tests available
Not everyone may know this, but there are precious few innodb crash recovery tests available. Some folks have noticed this and asked for something to be done about it, but unfortunately, no tests have been created for the main MySQL branch. The MySQL at Facebook branch has a number of tests that are quite interesting. [...]
Helgrinding MySQL with InnoDB for Synchronisation Errors, Fun and Profit
It is no secret that bugs related to multithreading–deadlocks, data races, starvations etc–have a big impact on application’s stability and are at the same time hard to find due to their nondeterministic nature. Any tool that makes finding such bugs easier, preferably before anybody is aware of their existence, is very welcome.
table_cache negative scalability
Couple of months ago there was a post by FreshBooks on getting great performance improvements by lowering table_cache variable. So I decided to investigate what is really happening here. The “common sense” approach to tuning caches is to get them as large as you can if you have enough resources (such as memory). With MySQL [...]
Pretending to fix broken group commit
The problem with broken group commit was discusses many times, bug report was reported 3.5Â years ago and still not fixed in MySQLÂ 5.0/5.1 (and most likely will not be in MySQLÂ 5.1). Although the rough truth is this bug is very hard (if possible) to fix properly. In short words if you enable replication (log-bin) on server [...]

