Next week I’m teaching an online Percona Training class, called Analyzing SQL Queries with Percona Toolkit. This is a guided tour of best practices for pt-query-digest, the best tool for evaluating where your database response time is being spent. This month we saw the GA release of MySQL 5.6, and I wanted to check if any [...]
Profiling MySQL Memory Usage With Valgrind Massif
There are times where you need to know exactly how much memory the mysqld server (or any other program) is using, where (i.e. for what function) it was allocated, how it got there (a backtrace, please!), and at what point in time the allocation happened. For example; you may have noticed a sharp memory increase [...]
The relationship between Innodb Log checkpointing and dirty Buffer pool pages
This is a time-honored topic, and there’s no shortage of articles on the topic on this blog. I wanted to write a post trying to condense and clarify those posts, as it has taken me a while to really understand this relationship. Some basic facts Most of us know that writing into Innodb updates buffer [...]
Ultimate MySQL variable and status reference list
I am constantly referring to the amazing MySQL manual, especially the option and variable reference table. But just as frequently, I want to look up blog posts on variables, or look for content in the Percona documentation or forums. So I present to you what is now my newest Firefox toolbar bookmark: an option and [...]
Percona Server 5.1.52-12.3
Percona Server version 5.1.52-12.3 is now available for download. The main purpose of this release is to update the current Percona release candidate to the latest version of MySQL 5.1. The release also includes the HandlerSocket plugin, which provides NoSQL features in Percona Server. Functionality Added or Changed Percona Server 5.1.52-12.3 is now based on [...]
xtrabackup-0.6
We announce next beta version of our xtrabackup tool. Changelist includes: – set innodb_fast_shutdown=1 on xtrabackup shutdown – set innodb_write_io_threads=10 by default for fast buffer_pool flushing during recovery – build xtrabackup with –with-extra-charsets=complex Bug #357653: innobackupex-1.5.1 –copy-back fails Bug #358194: 2nd-phase is very slow Bug #358266: xtrabackup-0.5 dies with SEGV on bad command line arguments [...]
How to decrease InnoDB shutdown times
Sometimes a MySQL server running InnoDB takes a long time to shut down. The usual culprit is flushing dirty pages from the buffer pool. These are pages that have been modified in memory, but not on disk. If you kill the server before it finishes this process, it will just go through the recovery phase [...]
MySQL Crash Recovery
MySQL is known for its stability but as any other application it has bugs so it may crash sometime. Also operation system may be flawed, hardware has problems or simply power can go down which all mean similar things – MySQL Shutdown is unexpected and there could be various inconsistences. And this is not only [...]
Using MyISAM in production
There were recently number of posts about MyISAM, for example Arjen wrote pretty nice article about MyISAM features so I thought I would share my own view on using MyISAM in production. For me it is not only about table locks. Table locks is only one of MyISAM limitations you need to consider using it [...]

