Building a MySQL server with XtraDB for speed
I’ve seen this a handful of times: someone has trouble with their database performance, and they have heard that XtraDB is much faster than InnoDB. They build a custom-compiled server with XtraDB.
This is unfortunately missing the point a bit. If you have a server that is the same as normal MySQL, but you’ve replaced InnoDB by XtraDB, what do you have? Depending on the version of MySQL you’re using, you have somewhere between, say, 1.5x and 15x performance improvement, at best. Compared to what you could be getting, that is not much, because you’re missing the most important improvement in Percona Server: the ability to measure the server’s activity. In other words, with a faster server that you still can’t measure and diagnose easily, you have just painted yourself into a faster corner. Your application’s workload is likely to grow 1.5x in no time; you have barely put off needing to diagnose why it is slow.
The real crown jewels in Percona Server are not the performance improvements. They are the features such as making the replication thread write the queries it executes to the slow query log just like normal threads. There are many such improvements. It doesn’t sound like much — but it makes a world of difference.



Is there an apt repo for Percona Server for Debian? That would be helpful…
dp
8 Feb 11 at 3:57 pm
Yes. http://www.percona.com/docs/wiki/repositories:start
Xaprb
8 Feb 11 at 3:59 pm
I’m sure what other features you are thinking about, but queries executed by the slave threads are logged to the slow log if you use option –log-slow-slave-statements. It’s been in 5.1 since about a year ago, and in 5.5 since two years ago.
Mats Kindahl
10 Feb 11 at 7:15 am
Mats, thank you for pointing that out. I am shocked that I have missed that. I figured out how: it’s because there is no corresponding variable in SHOW VARIABLES, and the behavior can’t be controlled at runtime, which is how I usually look to set it. I’ll file a feature request for this, and stand corrected :)
Xaprb
10 Feb 11 at 7:34 am
Oh, and it looks like they were only added to the documentation recently: this bug already exists: http://bugs.mysql.com/bug.php?id=59860
Xaprb
10 Feb 11 at 7:36 am