Progress on High Performance MySQL, Second Edition is coming along nicely. You have probably noticed the lack of epic multi-part articles on this blog lately -- that's because I'm spending most of my spare time on the book. At this point, we have significant work done on some of the hardest chapters, like Schema Optimization and Query Optimization. I've been deep in the guts of those hard optimization chapters for a while now, so I decided to venture into lighter territory: Backup and Recovery, which is one of the few chapters we planned to "revise and expand" from the first edition, rather than completely writing from scratch. I'd love to hear your thoughts and wishes -- click through to the full article for more details on the chapter and how it's shaping up.
So with over 1000 crashes in my logs from just one night of
simple queries, I have a painful time to find new crashes in the
90MB file. So I'm taking a detour on the rainbow query generator
for 2 days. Will be writing an error log analyzer instead
:)
step 1: upload the mysqld and the mysqld.sym file for the version you're working with.
step 2: import the binary and symbols into a mysql table
step 3: upload the error log
step 4: parse the error log into seperate crashes
step 5: find the stack traces for each crash, and resolve them using the symbols
step 6: determine if this crash is matching any existing crashes.
With thousands of crashes on various builds of mysqld, the above
system can be useful to me. Also, I'd import all the crashes from
reports on bugs.mysql.com for searching purposes. This toy will
allow me to identify whether a crash is new, or it's been seen
before.
The MySQL Developer’s Meeting has started. The weather is pretty moderately okay, there’s occasional rain, so we’ve all been given rain coats/rain jackets. The hotel is fully packed, and the lobby is generally filled with folk hacking away at things. Plenty of meetings, plenty of sessions, it is highly interesting, and it looks like there’s some team interoperability and we can better understand how to deliver things now.
This meeting has encouraged blogging, but I have a feeling most are too busy to write stuff. There will be meeting notes, and at some stage we should publish them externally. There should be heaps of pictures because I see everyone walking around with cameras (so I’ve conveniently left mine at the hotel).
Oh, and did I mention, its a great way to meet other MySQLers? So many names and nicknames, are now put to faces. So yes, Heidelberg is proving to be fun.
Current sticker theme: “We need …
[Read more]
A good training is not just running through course materials,
otherwise you might as well get them sent to you for a read...
it's about interaction, discussion, questioning, exploring,
breaking, baffling the teacher, and also anecdotes and background
that make it easier to remember otherwise possibly dry
information and apply it in the real world when
appropriate.
Funny... I just browsed by the MySQL Training Testimonials page, and noticed that
5 of the entries are actually from courses I taught (I was the
trainer). Cool."I particularly liked the challenge of solving
some problems with the exercises, to put the lessons to practical
use."
?Neil Silvester, Heat and Control Pty Ltd, Brisbane QLD
"Thanks for a very interesting and informative training course, I
have been able to put what I learned on the course to good use
already, …
ok folks. here's some results:
mysql> select last_errno,count(*) from
queryqueue group by last_errno;
+------------+----------+
| last_errno | count(*) |
+------------+----------+
| 0 | 1600796 |
| 1048 | 1971 |
| 1053 | 1 |
| 1139 | 35 |
| 1267 | 19722 |
| 1270 | 4243 |
| 1271 | 8944 |
| 1416 | 2284 |
| 1580 | 23225 |
| 2003 | 28 |
| 2013 | 1606 |
+------------+----------+
11 rows in set (0.00 sec)
error 2013 means lost connection to server (read: server
crashed).
so there are many bugs found already. 1606 crashes out of 1.6
million
executed queries, is great.
check my rss feed for the exact bugs ...
Well… there’s been some work. Even some in-progress patches. Being involved with this has just perfectly refreshed my memory of why I left the platform. Oh my it’s a horrible, horrible platform. Everything from UI to API… ick.
Expect something around soon….
This month I continued my Performance Analysis talks at the Local NY MySQL Meetup. Previous discussions can be found here.
Our focus was a more in-depth look at gathering and reviewing MySQL Status and your applications SQL statements using MySQL Proxy. Even after preparing the slides over the weekend Jan added more functionality that was particularly interesting. So today while addressing a client issues I further extended this work to do even more funky monitoring.
Today’s monitoring.lua script does:
- Logs to file, Date/Time, Query Time, Response Time, Rows Affected, Normalized SQL and Actual SQL for each query
- Has histogram of tables used with read/write …
This month I continued my Performance Analysis talks at the Local NY MySQL Meetup . Previous discussions can be found here . Our focus was a more in-depth look at gathering and reviewing MySQL Status and your applications SQL statements using MySQL Proxy .
After an absence of one year, I've taken the bold step of
submitting a couple of proposals in the call for papers for the
2008 MySQL conference. It would be great to get something in,
being part of the event, and getting to meet many old MySQL
Community friends (and former colleagues, of course) again from
around the world.
While truly being on the outside now (just MySQL AB wise, as I'm
still involved with the product through Open Query), I
suppose I do have the advantage of having some idea about what
the program gang will be looking for, what type of proposal has
the best chance for being both picked and being actually
interesting for the attendees. So I'm hopeful, but I know that
there'll be a lot of other good proposals also... the competition
will be tough.
Progress on High Performance MySQL, Second Edition is coming along nicely. You have probably noticed the lack of epic multi-part articles on this blog lately – that’s because I’m spending most of my spare time on the book. At this point, we have significant work done on some of the hardest chapters, like Schema Optimization and Query Optimization. I’ve been deep in the guts of those hard optimization chapters for a while now, so I decided to venture into lighter territory: Backup and Recovery, which is one of the few chapters we planned to “revise and expand” from the first edition, rather than completely writing from scratch.