One of our customers asked me whether it’s safe to enable the so-called USER_STATISTICS features of Percona Server in a heavy-use production server with many tens of thousands of tables. If you’re not familiar with this feature, it creates some new INFORMATION_SCHEMA tables that add counters for activity on users, hosts, tables, indexes, and more. [...]
Shard-Query turbo charges Infobright community edition (ICE)
Shard-Query is an open source tool kit which helps improve the performance of queries against a MySQL database by distributing the work over multiple machines and/or multiple cores. This is similar to the divide and conquer approach that Hive takes in combination with Hadoop. Shard-Query applies a clever approach to parallelism which allows it to [...]
check-unused-keys: A tool to interact with INDEX_STATISTICS
With the growing adoption of Google’s User Statistics Patch**, the need for supporting scripts has become clear. To that end, we’ve created check-unused-keys, a Perl script to provide a nicer interface than directly querying the INFORMATION_SCHEMA database.
Dropping unused indexes
Vadim wrote some time ago about how to find unused indexes with single query. I was working on the system today and found hundreds of unused indexes on dozens of tables so just dropping indexes manually did not look fun. So I extended Vadim’s query to generate ALTER TABLE statements automatically. I also made it [...]
Using Multiple Key Caches for MyISAM Scalability
I have written before – MyISAM Does Not Scale, or it does quite well – two main things stopping you is table locks and global mutex on the KeyCache. Table Locks are not the issue for Read Only workload and write intensive workloads can be dealt with by using with many tables but Key Cache [...]
How Percona does a MySQL Performance Audit
Our customers or prospective customers often ask us how we do a performance audit (it’s our most popular service). I thought I should write a blog post that will both answer their question, so I can just reply “read all about it at this URL” and share our methodology with readers a little bit. This [...]
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
ANALYZE: MyISAM vs Innodb
Following up on my Previous Post I decided to do little test to see how accurate stats we can get for for Index Stats created by ANALYZE TABLE for MyISAM and Innodb. But before we go into that I wanted to highlight about using ANALYZE TABLE in production as some people seems to be thinking [...]
Percona RPMS for RedHat 5 / CentOS 5 x86_64
We prepared RPMs of our release for RedHat 5 / CentOS 5 x86_64 platform. http://www.mysqlperformanceblog.com/mysql/RPM/RHEL5/5.0.62/ There was question what patcheset includes and if there is manuals. We have: microsecond resolution in slow-log extended query plan in slow-log and InnoDB statistics. You can read more here http://www.mysqlperformanceblog.com/2008/04/20/updated-msl-microslow-patch-installation-walk-through/ User / Table / Index statistics (Google’s patch). More [...]
Percona builds with Percona patchsets
Percona has a strong team of MySQL developers and consultants on board, so we decided to prepare builds with our patches and third-party patches which we think are very useful. We actually use these internally and for our customers. Current releases include: microslow patch (enables microsecond resolution in slow logs) execution plan (show info about [...]

