Archive for the ‘Proven Scaling’ tag
A lot of people contact me asking if I’m looking for a job. (I have an unanswered email in my inbox right now.) People are looking desperately for qualified, knowledgeable MySQL professionals. There’s a critical shortage of people who can admin MySQL moderately well, much less at the guru level.
If you are one of the many who are trying to hire a MySQL DBA, you should send your employees to the MySQL Conference and Expo. Not just this year — every year. Train a smart person instead of trying to hire someone who’s ready to go now.
This is the unfortunate reality: MySQL’s popularity has caused demand to far exceed supply. That’s what happens when a great disruptive innovation takes hold.
What do you do in the meantime?
If you just need a little help, hire a part-time DBA and get some consulting help. Without endorsing them directly, may I suggest Percona, Pythian, Proven Scaling or OpenQuery? You can also get support from MySQL, but the barrier to entry is higher because they’re trying to court larger organizations who need more help. But if your needs are large enough, that can make a lot of sense too.
Another thing you can do is send your employees to training, or get someone to come on-site and train. The companies I just mentioned can do this. So can The Learning Tree. (I’ve taken a Learning Tree course on MS SQL server and found it well worth my time, though I don’t know what it cost because my employer paid for it.)
I don’t get any kickbacks for these suggestions, by the way. And everything I say here is my opinion, not facts.
Make sure you approach your smart, motivated employees now — as in, this week — about going to the conference. As Jay Pipes writes, the sessions are great and many of the tutorials are selling out. I can vouch for what he said about standing-room-only crowds. At some of the sessions last year, it was hard to get out of the rooms, much less into them.
This release of MySQL Toolkit adds a new tool, fixes some minor bugs, and adds new functionality to several of the tools.
New tool: MySQL Heartbeat
This tool was contributed by Proven Scaling‘s Jeremy Cole and Six Apart. It measures replication delay on a slave, which can be daisy-chained to any depth. It does not rely on SHOW SLAVE STATUS, and in fact it doesn’t even need the slave processes to be running. You could use it to measure replication delay on your own hand-rolled replication, if you wanted.
The most common way to use it is to run one process to update a heartbeat on the master, and another to monitor the lag on a slave (you can run as many as you wish to monitor multiple slaves). By default it prints moving averages of delay over one, five and fifteen-minute time windows:
0s [ 0.00s, 0.00s, 0.00s ] 0s [ 0.00s, 0.00s, 0.00s ] 1s [ 0.02s, 0.00s, 0.00s ] 2s [ 0.05s, 0.01s, 0.00s ] 3s [ 0.10s, 0.02s, 0.01s ] 4s [ 0.17s, 0.03s, 0.01s ] 0s [ 0.17s, 0.03s, 0.01s ] 0s [ 0.17s, 0.03s, 0.01s ] 0s [ 0.17s, 0.03s, 0.01s ]
(of course, I couldn’t resist making that configurable, so you can specify your own time windows).
You can also run it as a daemon. Running the update process as a daemon is intuitive. Running the monitoring process isn’t quite as obvious, because a daemon should re-open STDOUT to /dev/null. What you can do is give it the –file argument and it’ll keep a file current with the most recent line of output, which you can check anytime you want to see how your slave has been doing over the last X time windows.
Here’s a changelog for the other tools I updated in this release:
Changelog for mysql-deadlock-logger: 2007-09-20: version 1.0.4 * Added --interval, --time, and --daemonize options, and signal handling. * --askpass did not allow different passwords on --source and --dest. Changelog for mysql-duplicate-key-checker: 2007-09-20: version 1.1.1 * Exit code wasn't always defined. Changelog for mysql-query-profiler: 2007-09-20: version 1.1.5 * Documentation didn't specify how queries in FILE are separated. Changelog for mysql-slave-delay: 2007-09-20: version 1.0.1 * Added a --daemonize option to detach from the shell and run in the background. Changelog for mysql-slave-restart: 2007-09-20: version 1.0.1 * Added a --daemonize option to detach from the shell and run in the background. Changelog for mysql-table-checksum: 2007-09-20: version 1.1.15 * The CHECKSUM strategy was always disabled. Changelog for mysql-visual-explain: 2007-09-20: version 1.0.3 * filesort wasn't applied to the first non-constant table.