pt-stalk recipes: Gather forensic data about MySQL when a server problem occurs It happens to us all from time to time: a server issue arises that leaves you scratching your head. That’s when Percona Toolkit’s pt-stalk comes into play, helping you diagnose the problem by capturing diagnostic data that helps you pinpoint what’s causing the [...]
Get Me Some Query Logs!
One of my favorite tools in the Percona Toolkit is pt-query-digest. This tool is indispensable for identifying your top SQL queries, and analyzing which queries are accounting for your database load. But the report you get from pt-query-digest is only as good as the log of queries you give it as input. You need a large [...]
Here’s a quick way to Foresee if Replication Slave is ever going to catch up and When!
If you ever had a replication slave that is severely behind, you probably noticed that it’s not catching up with a busy master at a steady pace. Instead, the “Seconds behind master” is going up and down so you can’t really tell whether the replica is catching up or not by looking at just few [...]
Aspersa tools bit.ly download shortcuts
I use Aspersa tools a lot and I find myself going to the website just to download one of the tools all the time. I love I can download maatkit with a simple wget maatkit.org/get/tool command so I made bit.ly shortcuts for all of the current aspersa tools. Here’s the full list with my favorite [...]
Optimizing slow web pages with mk-query-digest
I don’t use many tools in my consulting practice but for the ones I do, I try to know them as best as I can. I’ve been using mk-query-digest for almost as long as it exists but it continues to surprise me in ways I couldn’t imagine it would. This time I’d like to share [...]
Maatkit’s mk-query-digest filters
Have you ever seen BIG weird numbers in mk-query-digest report that just seem wrong? I have! Here’s one report I got today:
Lost innodb tables, xfs and binary grep
Before I start a story about the data recovery case I worked on yesterday, here’s a quick tip – having a database backup does not mean you can restore from it. Always verify your backup can be used to restore the database! If not automatically, do this manually, at least once a month. No, seriously [...]
UDF -vs- MySQL Stored Function
Few days ago I was working on a case where we needed to modify a lot of data before pushing it to sphinx – MySQL did not have a function to do the thing so I thought I’ll write MySQL Stored Function and we’ll be good to go. It worked! But not so well really [...]
Improved spam blocking solution for our blog
We have had been using Akismet as our primary antispam tool for quite a while. It works okay, but recently we have started to get the feeling we need a better solution. With Akismet were still burdened with a lot of manual moderation for false negatives and scanning detected spam for false positives (can’t say [...]
Tokyo Tyrant -The Extras Part III : Write Bottleneck
This is part 3 of my Tyrant extra’s, part 1 focused on durability, part 2 focused on the perceived performance wall. #3. Tokyo Cabinet Can have only a single writer thread, bottlenecking performance When writing an application using Tokyo Cabinet only one connection can be opened as a “writerâ€Â while the rest are readers. Tyrant [...]

