When your car doesn’t start, you don’t just blindly change the battery, starter, fuel pump, spark plugs or all of the above. Instead, you go to your mechanic and ask him to check what is wrong (or you check it yourself if you are the mechanic) and then fix whatever is broken. Read More
Proper MySQL Query Optimization starts with a proper Slow Query Logging session. And MySQL Query Optimization is where I spend 70-80% of my time when doing MySQL performance optimization.
Here in part 2, we will go over the pt-query-digest report, that we have prepared in part 1.
Proper MySQL Query Optimization starts with a proper Slow Query Logging session. And MySQL Query Optimization is where I spend 70-80% of my time when doing MySQL performance optimization. In this short series I will show you how to do Slow Query Logging the right way. Read More
Why would you wanna do that, you ask? Well, because then you can parse it with tools like
pt-query-digest and get a nice look at the queries hitting Sphinx sorted by resource consumption. Read More
I was doing a Velocity Conference flashback the other day and this talk about managing complexity in distributed systems by Astrid Atkinson (from Google) caught my attention. I’m not very much of a “5 great tips” guy, but the points she was making were so spot on, she left me no choice.
Restating MySQL can be really annoying. You just want to disable the goddamn query cache and it takes forever (read 5-10 minutes) to shutdown, not to mention the warm-up time. Yes, with MySQL 5.7 you can do may changes online, so you won’t necessarily be restarting that often, but you still need to do upgrades, occasionally increase redo log size and, admit it, enable skip-grant-tables. Here’s how you can make this process way less painful. Read More
What do you do when your Linux web app starts acting out? You troubleshoot it, of course! Me too. And today I would like to talk to you about one tool that works really well with all sorts of applications and application servers – ranging from apache http server running modules (mod_php, mod_perl, etc.), to applications running in fast cgi setting or even simple single-threaded programs. Read More
Inspired by Peter Zaitsev’s post for MySQL 5.6, I decided to do a comparison between default configuration of MySQL 5.6 and 5.7. And I gotta tell you, some of the changes I found will have a huge impact on performance so make sure to get yourself familiar with them before you upgrade, even if you’re not otherwise running with a default configuration. Read More
What better way to learn the basics of MySQL Performance Troubleshooting, than by observing a MySQL expert troubleshoot a nasty MySQL 5.7 performance bug, that a team of DBAs were chasing for weeks before giving up and calling in an external consultant for help.
The bug was causing roughly 2 minute long lock-ups for all MySQL write queries at seemingly random 20-30 hour intervals and it took me (the external consultant) only 4 hours to uncover the issue (and a couple more to find and showcase a solution). Read More
- Page 1 of 2