speaking at mysqlconf

March 6th, 2009

This year I was happy to be accepted as a speaker at MySQLConf 2009, presenting a session on MySQL Enterprise Monitor and Query Analyzer alongside Phil Hildebrand.

What’s it about?
We’ll talk about the Enterprise Monitor and Query Analyzer tools from a user perspective.  You may have read a Sun/MySQL press release or a whitepaper on those (maybe even mine), but it still may be hard to get a sense of what these products are and why they are useful.

Because these are part of MySQL’s Enterprise offering, they are not free open source software.  Thus I suspect only a small percentage of MySQL users are aware of what they do and probably even fewer have actually tried them out.  Well, Phil and I have used them extensively for quite some time, and we’ll walk you through the basics… without any marketing spin.  We’re both hands-on DBAs and not employed by Sun, so we’ll give you the unfiltered real deal.  :-)

Why should you attend?

Well first of all, I hope you’re going to MySQLConf if you can.  It’s a great conference full of sessions on a whole bunch of interesting topics.  I’ve attended for the past two years and met some great folks and learned quite a bit even though I’m a seasoned MySQL developer and DBA.  Given all the recent and ongoing developments with Falcon, PBXT, Drizzle, XtraDB, MySQL 6.0, and more… there is so much information to take in at the conference and related activities (Percona Conference, MySQL Camp).

The real question is why go to our session?  It’s a tough one because there are several other interesting sessions at the same time (Tuesday morning’s first session at 10:50am).  I would say come to this one if you have been wondering about or considering the MySQL Enterprise subscription for your organization and want to see what is involved and what other users think.

We’ll try to make it interesting for technical folks and not a marketing presentation — with practical examples, gotchas, and even a demonstration so you can get a sense of how it works and how it might be useful.

That’s the end of my session sales pitch.  See you at MySQLConf 2009!

bbcp for fast network copies

December 5th, 2008

This is not strictly database or MySQL related, however DBAs often deal with large data sets so others may find it useful.

I recently discovered bbcp, a utility to copy files efficiently over a network. It has the ability to use parallel network streams and specify window sizes, which can dramatically increase the transfer rates. It copies via the ssh protocol, so it fits nicely into common security environments.

Read the rest of this entry »

Quality of 5.1 GA release

November 29th, 2008

With all due respect to Monty (and I mean that — much respect is due), I have some serious issues with his portrayal of the 5.1 release.  I hate to make my first entry on Planet MySQL about a controversy, but he encouraged people to blog about their experience with 5.1, so that’s what I’ll do here.

Read the rest of this entry »

observation with regard to the “swappiness” problem

November 20th, 2008

Many of the prominent folks on Planet MySQL have encountered issues with mysql and linux going into swap (example 1,2,3).  None of the easy solutions (sysctl -w swappiness=0, innodb_flush_method       =O_DIRECT) have solved this problem for our configuration and I just deal by using a smaller innodb buffer pool than I’d like, and then occasionally using swapoff/swapon to temporarily bring things back to balance.

I did make one observation though, which may be a red herring but still interesting to me.  In one particular case I am using nested replication in the following configuration:

master1->master2->slave1
                ->slave2
                ->slave3
                ->slave4
                ->slave5

The master1 server handles all writes and some reads, and some of the slaves handle reads in a typical MySQL master/slave scenario.  All master2 does is batch out replication update to its slaves, and sits prepared to become active master if master1 dies.

The interesting part is that even though master1 and master2 are configured identically, master2 is the server that goes into swap while master1 is fine.  This is true even though master1 ends up being much busier with connections due to dealing with the applications directly.

I ended up reducing the innodb buffer pool on master2 so that it was smaller than master1.  And it went back into swap again, even though all it does is read one slave thread from master1 and batch out update to its 5 slaves. 

Very odd indeed. Is there something about having slaves that would increase the likelihood of mysql running into swap? If so perhaps there are some settings that could mitigate the issue there, such as reducing binlog size. I’m going to do some more investigation into this matter, but for now it’s just an interesting puzzle piece to consider.

mentioned in Sun press release today

November 20th, 2008

I see that Sun prominently quoted one of our Engineers in their recent press release for Query Analyzer (Quan).  He’s a bit embarrassed by the attention, but his quote is spot on… Quan is a really solid and useful product.

Of course, there is nothing there that you can’t get by combining various tools like mysqlsla, innotop, mysqlreport and spending some time in analysis.  What Quan adds is making the information readily available, and letting someone without expert level skill quickly find pain points in the application by looking at basic things like rows analyzed, time spent, and number of executions.

This is of course some overhead from the agent process, but RAM is cheap compared to the benefit that in my opinion this tool provides