April 16, 2014

Preventing MySQL Emergencies Webinar

On the 25th of January at 10 am PST, I will present a webinar on preventing MySQL emergencies titled “Preventing Downtime in Production MySQL Servers”. The material I will present is based on in-depth research done by Percona across many production servers.  We analyzed more than 150 emergency cases and categorized our findings to help […]

White Paper: Preventing MySQL Emergencies

About a year ago, I started a study of emergency incidents that our customers filed with us. What I found was really surprising, and defied conventional wisdom. I learned a lot about preventing emergencies. I just published the outcome as a white paper, including checklists that you can use and modify for your own servers. […]

MySQL performance optimization: Don’t guess! Measure with Percona Cloud Tools

In our practice we often see that MySQL performance optimization is done in a sort of “black magic” way. A common opinion is: “If there is a performance problem – then it must be a database issue, because what else could it be? And if this is a database issue, then it must involve IO […]

Webinars: Common (but deadly) MySQL mistakes

On January 22 I’ll be presenting the first of a series of two new webinars focusing on avoiding common MySQL mistakes: How to Avoid Common (but Deadly) MySQL Operations Mistakes. “Don’t bother me with DBA ‘best practices,’ we have real work to get done.” So go the famous last words from overworked IT managers (we’ve […]

Multiple column index vs multiple indexes with MySQL 5.6

A question often comes when talking about indexing: should we use multiple column indexes or multiple indexes on single columns? Peter Zaitsev wrote about it back in 2008 and the conclusion then was that a multiple column index is most often the best solution. But with all the recent optimizer improvements, is there anything different with […]

2 cases for MySQL server overload

Your MySQL server is overloaded. You see hundreds of running queries in the SHOW PROCESSLIST taking many seconds to run, or can’t connect at all because all connections slots are busy. If you have worked with MySQL long enough you surely have seen it, probably more than once. This is what I would call “MySQL […]

InnoDB adaptive flushing in MySQL 5.6: checkpoint age and io capacity

In MySQL 5.6 InnoDB has a dedicated thread (page_cleaner) that’s responsible for performing flushing operations. Page_cleaner performs flushing of the dirty pages from the buffer pool based on two factors: – access pattern  -  the least recently used pages will be flushed by LRU flusher from LRU_list when buffer pool has no free pages anymore; […]

Experimental Git mirror of Oracle MySQL trees

I’ve been working on setting up mirrors on github of all our BZR branches. My first efforts that are at a suitable stage to share are mirrors of the Oracle MySQL trees. This is currently a snapshot of MySQL 5.1, 5.5 and 5.6 with all the tags preserved. I’ve managed to get GIT to compact […]

The top 5 proactive measures to minimize MySQL downtime

I’m happy to announce that the recording for my recent webinar “5 Proactive Measures to Minimize MySQL Downtime” is now available, along with the slides. They can both be found here. My webinar focused on the top 5 operational measures that prevent or reduce downtime — along with the related business impact in a significant […]

MySQL Webinar: 5 proactive measures to help minimize MySQL downtime, July 17

Failure is an unavoidable part of IT life, but it does not always have to imply MySQL service downtime. In the years I have been working at Percona, I have been involved in many customer emergency cases, and I have seen a good number of problems that could have been avoided or alleviated if relatively […]