When doing performance analyzes you often would want to see 95 percentile, 99 percentile and similar values. The “average” is the evil of performance optimization and often as helpful as “average patient temperature in the hospital”. Lets set you have 10000 page views or queries and have average response time of 1 second. What does [...]
MySQL for Hosting Providers – how do they manage ?
Working with number of hosting providers I always wonder how do they manage to keep things up given MySQL gives you so little ways to really restrict how much resources single user can consume. I have written over a year ago about 10+ ways to crash or overload MySQL and since that people have come [...]
A quick way to get memcached status
There are all sorts of different interfaces to memcached, but you don’t need any of them to make requests from the command line, because its protocol is so simple. Try this, assuming it’s running on the usual port on the local machine:
Thanks Giving Challenge: How to detect replication context
Happy Thanksgiving and little holiday challenge for you. Say you have a trigger on the slave which you would like to work differently, depending on whenever update is executed via replication thread vs updating table locally ? This can be helpful for example for auditing updates which were done directly instead of coming from the [...]
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 [...]
Using INFORMATION_SCHEMA instead of shell scripting
INFORMATION_SCHEMA, in particular by favorite TABLES table is not only helpful to understand tables you have on the system, but I have also found it to be very helpful as a scripting language for variety of database administration tasks. It can be more straightforward compared to using shell or Perl when the operation is database [...]
How to calculate a good InnoDB log file size
Peter wrote a post a while ago about choosing a good InnoDB log file size. Not to pick on Peter, but the post actually kind of talks about a lot of things and then doesn’t tell you how to choose a good log file size! So I thought I’d clarify it a little. The basic [...]
The patches are going to Launchpad
After some discussions on the OpenSQLCamp 2008 conference we decided to move our development to Launchpad, to be in stream with other MySQL related projects. We published our patches there https://code.launchpad.net/percona-patches, it is supposed to be main repository for the patches. We advise to use Launchpad bug system to report bugs and also for feature [...]
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

