My travel schedule is getting quite crowded for the next months - I just received confirmation that I will be speaking at the phpDay in Verona, Italy on May 15-16th. I'll be talking about bzr - The Bazaar source revision control system as well as MySQL Backup and Security - Best practices in the developer track of the conference. I've never been to Verona, but it seems like it's a beautiful city. I look forward to being there!
There has been much talking about MySQL performance related to
logging. Since MySQL 5.1.21, when Bug
#30414 was reported (Slowdown (related to logging) in
5.1.21 vs. 5.1.20) I have been monitoring the performance of
the server, both on 5.0 and 5.1.
Recently, I got a very powerful server, which makes these
measurements meaningful.
Thus, I measured the performance of the server, using all
publicly available sources, because I want this benchmark to be
repeatable by everyone.
I will first describe the method used for the benchmarks, and
then I report the results.The serverThe server is a Linux Red Hat
Enterprise 5.2, running on a 8core processor, with 32 GB RAM and
1.5 TB storage.
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.2 (Tikanga)
$ cat /proc/cpuinfo |grep "processor\|model name" | sort …
[Read more]
I was pleased to wake up this morning to find a message from Monty Taylor on my IRC client about how MySQL is working towards a pluggable query cache API:
Why do I care? well I’ve been talking about a pluggable query cache interface for Drizzle from it’s early days so I was delighted to see that someone else in the world cares too. Here are my blog posts that describes this better:
[Read more]Here is a list of talks at the MySQL user conference that focus on new and upcoming features in MySQL. I will try to attend most of these myself, although I have some certifications to acquire and other topics of interest. It’s almost like I would like to split myself in multiple threads so I [...]
Pushed about a ton of changes to the Juice benchmark since I announced it… lots of little fixes and a few big ones… really their are too many to talk about, and a lot of the new stuff is boring ( who cares about adding ramp up time, its just not that interesting to talk about ).
The big change is all about the Analyze.pl script. I am adding a ton to this script in order to try and give a concise and clear picture of what happened during the benchmark run. I am excited about it ( I am a geek though ) so I thought I would share what it looks like so far:
Total Test Runtime = 513.110480070114 seconds, limiting results to 300 seconds however QNum: 4 ... QCount: 9 ... QTime: 0.028973 ... Max: 0.037164 ... FlatTime: 0.030530 ... Min5%: 0.015769 ... Max5%: 0.037164 QNum: 7 ... QCount: 2900 ... QTime: 0.001224 ... Max: 0.027039 ... FlatTime: 0.000658 ... Min5%: 0.000134 ... Max5%: 0.012549 QNum: 8 ... …[Read more]
On April 2nd at 10 AM PST, I'll be giving a webinar with Giuseppe. I
will be talking about how I use the MySQL Proxy to test itself
and to test our Monitoring Agent using some Lua scripts.
I'll also talk about a new Launchpad repository for Lua scripts
to use with the MySQL Proxy. One of the nice things about it, is
that it will be community-own. So even though a Sun employee
registered it, the community will be able to make contributions
and/or decide what gets included there. In some ways, it will be
like the Drizzle project.
I hope you see you there!
P.S. You can register here
Here’s a quick productivity tip: when optimizing queries by rewriting them to different forms that should return the same results, you can verify that you get the same results by taking a checksum of them. Just set your pager to md5sum: mysql> pager md5sum - PAGER set to 'md5sum -' mysql> select * from test; a09bc56ac9aa0cbcc659c3d566c2c7e4 - 4096 rows in set (0.00 sec)
The schedule for the 2009 Percona Performance Conference has been released. Take a look, see what interests you, and (optionally) register to come. We look forward to seeing you all there!
Entry posted by Ryan Lowe | One comment
[Read more]A couple of weeks ago Sphinx Technologies, a company behind Sphinx Full Text Search Engine launched Sphinx Support Packages which I think is a great value for everyone using Sphinx in Production. This is also a great way to support the project and get something in return - even if you're not actively using support it looks better than donation for accounting people.
The Support approach was closely modeled from MySQL Support of the early days - simple service lever differentiation with no per server pricing or different editions. This is exactly how I think Support for Open Source project should be structured. Of course such service offering may be lacking the "leverage" but how much leverage do you really need if you do not have sales and marketing teams or venture capitalists to feed? If money you pay go …
[Read more]
In preparation for the MySQL UC and my session about binlogs I
started to implement a first few ideas. In a short coding rush I
moved some of the C-code from mysql-binlog-dump.c
to
the right places in the libraries and wrapped it nicely for Lua.
My overall goal is to make a clean cut between
- a library to work with binlogs
- wrapping with for Lua's use
- a front-end that's making use of all of it
With code in hands I can now toss in a liitle lua script to dump a simple statement-based binlog:
local binlog = assert(require("mysql.binlog"))
local basedir = "/usr/local/mysql/data/"
local file = "jan-kneschkes-macbook-pro-bin.001005"
while file do
local f = assert(binlog.open(basedir .. file))
file = nil
for event in f:next() do
if event.type == "QUERY_EVENT" then
print(("/* threadid: %d */ %s"):format( …
[Read more]