Percona is glad to announce the release of Percona Server 5.5.24-26.0 on June 1st, 2012 (Downloads are available here and from the Percona Software Repositories). Based on MySQL 5.5.24, including all the bug fixes in it, Percona Server 5.5.24-26.0 is now the current stable release in the 5.5 series. All of Percona‘s software is open-source and free, all the details of the release can [...]
Troubleshooting MySQL Memory Usage
One of the most painful troubleshooting tasks with MySQL is troubleshooting memory usage. The problem usually starts like this – you have configured MySQL to use reasonable global buffers, such as innodb_buffer_size, key_buffer_size etc, you have reasonable amount of connections but yet MySQL takes much more memory than you would expect, causing swapping or other [...]
How to recover deleted rows from an InnoDB Tablespace
In my previous post I explained how it could be possible to recover, on some specific cases, a single table from a full backup in order to save time and make the recovery process more straightforward. Now the scenario is worse because we don’t have a backup or the backup restore process doesn’t work. How [...]
Troubleshooting MySQL Upgrade Performance Regressions
So lets say you upgraded from MySQL 5.1 to Percona Server 5.5 and instead of expected performance improvement you see your performance being worse. What should you do ? First if you followed MySQL upgrade best practices such as testing your workload with pt-upgrade the chances of this happening are rather slim. But lets assume [...]
Innodb vs MySQL index counts
I had a customer recently who a few strange errors in their mysqld.err log:
1 | [ERROR] Table database_name/table_name contains 8 indexes inside InnoDB, which is different from the number of indexes 7 defined in the MySQL |
This customer was running Percona Server 5.1 and they got this error on two tables during a maintenance window when they were adding indexes to the same tables. We had a suspicion that it had something to do with Fast [...]
Side load may massively impact your MySQL Performance
When we’re looking at benchmarks we typically run some stable workload and we run it in isolation – nothing else is happening on the system. This is not however how things happen in real world when we have significant variance in the load and many things can be happening concurrently. It is very typical to [...]
When Does InnoDB Update Table Statistics? (And When It Can Bite)
An InnoDB table statistics is used for JOIN optimizations and helping the MySQL optimizer choose the appropriate index for a query. If a table’s statistics or index cardinality becomes outdated, you might see queries which previously performed well suddenly show up on slow query log until InnoDB again updates the statistics. But when does InnoDB [...]
Percona Server 5.5.8 Beta Release
It’s finally here! Percona Server Percona Server 5.5.8-20.0 is now available for download. This is a beta release of Percona’s enhancements to the MySQL 5.5.8 server. Here are some highlights: Performance and scalability improvements throughout the server and storage engine Optimizations for flash storage such as SSD, Virident, and FusionIO Optimizations for cloud computing The [...]
Getting History of Table Sizes in MySQL
One data point which is very helpful but surprisingly few people have is the history of the table sizes. Projection of data growth is very important component for capacity planning and simply watching the growth of space used on partition is not very helpful. Now as MySQL 5.0+ has information schema collecting and keeping this [...]
Instrumentation and the cost of Foreign Keys
I occasionally get in to light arguments healthy discussions with students about whether or not to use Foreign Key constraints on InnoDB tables. My standard response has always been: “it depends on how much of a tradeoff you are willing to make for performance. In some situations the cost can be considerable”. .. that’s when [...]

