So I’ve been doing a fair number of automated load tests these past six months. Primarily with Sysbench, which is a fine, fine tool. First I started using some simple bash based loop controls to automate my overnight testing, but as usually happens with shell scripts they grew unwieldy and I rewrote them in python. Now I have some flexible and easily configurable code for sysbench based MySQL benchmarking to offer the community. I’ve always been a fan of giving back to such a helpful group of people – you’ll never hear me complain about “my time isn’t free”. So, let me know what you want in an ideal testing environment (from a load testing framework automation standpoint) and I’ll integrate it into my existing framework and then release it via the BSD license. The main goal here is to have a standardized modular framework, based on sysbench, that allows anyone to compare their server performance via repeatable tests. It’s fun to see …
[Read more]I started going over the slides from talks from MySQL Conference and Expo 2011 to pick set of must see presentations and publish the list, but this is not happening due to lack of time. Instead I’m only going to recommend 1 talk, from list of tutorials I had a chance to review. If you have not check it out yet, take a look at Linux and Hardware Optimizations by Yoshinori Matsunobu. Check out the slides which are very well done with many graphs and verbose enough explanations so you can easily follow slides alone.
Were you excited by some other talk on MySQL Conference and Expo ? Feel free to leave it as a comment to this post.
Are you rebooting your MySQL server at night?
I'de like to share input send to me by a leading MySQL provider,
mostly deploying ecommerce and telco applications on Linux.
One instance is up since 1414 days not bad ....
18:13:02 up 355 days, 4:50, 0 users, load
average: 0.00, 0.00, 0.00
18:13:03 up 594 days, 5:04, 0 users, load
average: 1.20, 1.25, 1.26
18:13:03 up 48 days, 22:10, 0 users, load average:
0.48, 0.38, 0.29
18:13:03 up 936 days, 7:50, 0 users, load
average: 0.00, 0.00, 0.00
18:13:03 up 173 days, 2:39, 0 users, load
average: 1.90, 1.79, 1.79
18:13:04 up 244 days, 3:25, 0 users, load
average: 3.96, 3.66, 3.90
18:13:04 up 643 days, 15:50, 0 users, load average:
0.09, 0.08, 0.07
18:13:04 up 642 days, 5:15, 0 …
MySQL 5.6.2 is available for your evaluation at Labs.MySQL.Com –
MySQL 5.6.2 ready to go
in three flavors — InnoDB-Memcached, New Performance Schema, or multi-threaded slave. Remember, these servers are for evaluation purposes and not for production. I downloaded the InnoDB-Memecached version on a Fedora system and the New Performance Schema on a Ubuntu system. Both downloads were the pre-built generic binaries.
Installation will be familiar to anyone who has installed the binary sever before and is covered in detail at Installing MySQL from Generic Binaries on Unix/Linux
shell> groupadd mysql
shell> useradd -r -g mysql mysql …
The MySQL Sandbox tool is a fantastic way to evaluate and install
different versions of MySQL. Often when new versions of software
come out people tend to be very nervous to upgrade and test with
their current stable server environments. You just might not be
able to take a risk and upgrade a development or slave servers to
test evaluate a new version. Giuseppe Maxia “The Data
Charmer” has built the MySQL Sandbox (http://mysqlsandbox.net/) to help you avoid these
risks. This is just one of the many things Giuseppe does for the
MySQL community.
Code is available via Launchpad or …
Dear Perl and MySQL enthusiasts,
I’m pleased to announce the release of DBD::mysql 4.019. I’m especially pleased because there are some new enhancements and features that have been provided by contributions from the community:
* Asynchronous support, added by Rob Hoelz. This is a new feature to DBD::mysql that takes advantage of libmysql’s asynchronous functions (see Jan’s article from 2008 http://jan.kneschke.de/2008/9/9/async-mysql-queries-with-c-api/) . From the DBD::mysql documentation:
You can make a single asynchronous query per MySQL connection;
this allows
you to submit a long-running query to the server and have an
event loop
inform you when it’s ready. An asynchronous query is started by
either
setting the ‘async’ attribute to a true value in the DBI
do()
method,
or in the DBI prepare()
method. Statements created
with async
set …
Version 1.3 of Slave read-Ahead is available for download. If you don't know what this tool is
about, it is a tool that runs in the background, reads the
incoming replication log on a slave and converts INSERT, UPDATE
and INSERT ... SELECT statements into SELECT statements and
executes these before the statement in question is executed on
the server, the idea being that this will "prewarm" the MySQL
caches for this date, for example the rows that an UPDATE is
affecting will already be in the cache when the UPDATE arrives on
the slave. Because of the way replication data is read, this tool
only works with MySQL5.5 and up.
Version 1.3 introduces the auto-reconnect feature. This will
reconnect to the MySQL server if the connection fails. To be sure
that we restart, all existing connectings are released before a
reconnect attempt is made. This version also has …
Permalink: http://bit.ly/TBKQL3
Skip to part 2 for the code snippet or to part 3 for a working example and how to debug
the stored procedure.
Also another workaround on a missing MySQL functionality,
enabling/disabling triggers, can be found here.
As of version 5.5, MySQL still does not have the native ability
to execute a dynamic cursor. This can be worked around but the
resulting stored procedure will have a few limitations.
This stored procedure is a general purpose …
A couple of years ago Domas Mituzas created a
tool which could basically be thought of as basically a
lightweight multi-threaded mysqldump. By this I mean it can
retrieve data from multiple tables simultaneously and can even
break a table down into parts for simultaneous retrieval.
Sometime around 2010 I started hacking on mydumper too but
stopped whilst working at Rackspace (Drizzle was way more than
full-time for me).
Back when Domas first blogged about it he was managing to dump
his sample data over 10x faster than mysqldump!
Since the 0.1 series Domas has fixed a lot of problems and since
starting at SkySQL I have finished a lot of work that I …
Photo by Pockafwye under a CC by NC SA 2.0 license
A couple of years ago Domas Mituzas created a tool which could basically be thought of as basically a lightweight multi-threaded mysqldump. By this I mean it can retrieve data from multiple tables simultaneously and can even break a table down into parts for simultaneous retrieval. Sometime around 2010 I started hacking on mydumper too but stopped whilst working at Rackspace (Drizzle was way more than full-time for me).
Back when Domas first blogged about it he was managing to dump his sample data over 10x faster than mysqldump!
Since the 0.1 series Domas has fixed a lot of problems and since starting at …
[Read more]