You might know if you have long running transactions you’re risking having a lot of “garbage” accumulated in undo segment size which can cause performance degradation as well as increased disk space usage. Long transactions can also be bad for other reasons such as taking row level locks which will prevent other transactions for execution, [...]
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.49-rel12.0
Dear Community, Starting with this release, we introduce a new release model for Percona Server. From now on, we will have both Stable and Release Candidate releases. Release Candidates will introduce new features not yet available in Stable releases. Along with new features, our new 5.1.49-12.0 RC contains a couple of patches from the Facebook-MySQL [...]
Percona Server 5.1.47-rel11.0
Dear Community, Percona Server version 5.1.47-rel11.0 is available for download now. The changes in this release include: New features Percona Server is now based on MySQL 5.1.47, and XtraDB is now based on InnoDB plugin 1.0.8. XtraDB now uses the fast recovery code released in InnoDB Plugin version 1.0.8, instead of Percona’s earlier fast-recovery code. [...]
Table locks in SHOW INNODB STATUS
Quite frequently I see people confused what table locks reported by SHOW INNODB STATUS really mean. Check this out for example:
1 2 3 4 | ---TRANSACTION 0 4872, ACTIVE 32 sec, process no 7142, OS thread id 1141287232 2 lock struct(s), heap size 368 MySQL thread id 8, query id 164 localhost root TABLE LOCK table `test/t1` trx id 0 4872 lock mode IX |
This output gives us an impression Innodb has taken table lock on test/t1 table and many people tend to think Innodb in fact in some circumstances would abandon its row level locking and [...]
Why you should ignore MySQL’s key cache hit ratio
I have not caused a fist fight in a while, so it’s time to take off the gloves. I claim that somewhere around of 99% of advice about tuning MySQL’s key cache hit ratio is wrong, even when you hear it from experts. There are two major problems with the key buffer hit ratio, and [...]
Introducing percona-patches for 5.1
Our patches for 5.0 have attracted significant interest. You can read about SecondLife’s experience here, as well as what Flickr had to say on their blog. The main improvements come in both performance gains and improvements to diagnostics (such as the improvements to the slow log output, and INDEX_STATISTICS). Despite having many requests to port [...]
Tuning for heavy writing workloads
For the my previous post, there was comment to suggest to test db_STRESS benchmark on XtraDB by Dimitri. And I tested and tuned for the benchmark. I will show you the tunings. It should be also tuning procedure for general heavy writing workloads. At first, <tuning peak performance>. The next, <tuning purge operation> to stabilize [...]
MySQL Binaries Percona build10
We made new binaries for MySQL 5.0.67 build 10 which include next fixes: We addressed concerns about potential logging and statistics overhead, so now you can fully turn on / off query statistics for microslow patch and user statistics in runtime. Next variables were added:
1 2 3 4 5 6 | | slow_query_log | ON | | slow_query_log_file | /var/lib/mysql/slow_query.log | for compatibility with MySQL 5.1 and | userstat_running | OFF | to control gathering of user statistics. |
With both slow_query_log = OFF and userstat_running = OFF [...]
Percona build7 with latest patches
We made new binaries for MySQL 5.0.67 build 7 which include patches we recently announced. The -percona release includes:
1 2 3 4 5 6 7 8 9 10 11 12 | | innodb_check_defrag.patch | Session status to check fragmentation of the last InnoDB scan | 1.0 | Percona <info@percona.com> | GPL | The names are Innodb_scan_* | | userstatsv2.patch | SHOW USER/TABLE/INDEX statistics | V2 | Google | GPL | Added INFORMATION_SCHEMA.*_STATISTICS | | show_patches.patch | SHOW PATCHES | 1.0 | Jeremy Cole | N/A | | | innodb_io_patches.patch | Cluster of past InnoDB IO patches | 1.0 | Percona | GPL | This patch contains fixed (control_flush_and_merge_and_read, control_io-threads, adaptive_flush) | | innodb_show_hashed_memory.patch | Adds additional information of InnoDB internal hash table memories in SHOW INNODB STATUS | 1.0 | Percona <info@percona.com> | GPL | | | innodb_io_pattern.patch | Information schema table of InnoDB IO counts for each datafile pages | 1.0 | Percona <info@percona.com> | GPL | INFORMATION_SCHEMA.INNODB_IO_PATTERN | | microsec_process.patch | Adds INFOMATION_SCHEMA.PROCESSLIST with TIME_MS column | 1.0 | Percona <info@percona.com> | GPL | | | innodb_locks_held.patch | Add locks held, remove locked records in SHOW INNODB STATUS | 1.0 | Baron Schwartz <baron@xaprb.com> | GPL | Bug #29126 fix | | microslow_innodb.patch | Extended statistics in slow.log | 1.1 | Percona <info@percona.com> | GPL | | | mysqld_safe_syslog.patch | Patch allows redirect output of error.log to syslog-ng | 1.0 | Percona <info@percona.com> | GPL | Ported from Debian | | innodb_fsync_source.patch | Information of fsync callers in InnoDB | 1.0 | Google | GPL | | | innodb_show_bp.patch | show innodb buffer pool content | 1.0 | Percona <info@percona.com> | GPL | | |
and -percona-highperf release additionaly includes
1 2 | | split_buf_pool_mutex_fixed_optimistic_safe.patch | InnoDB patch to fix buffer pool scalability | 1.0 | Yasufumi Kinoshita | BSD | | | innodb_rw_lock.patch | Fix of InnoDB rw_locks | 1.0 | Yasufumi Kinoshita | BSD | |
You can download RPMs for RedHat / CentOS 4.x and 5.x for x86_64, binaries, sources and patches there

