Tony Bourke

Site Map


Load Balancing Resources:

Database Resources

Super Smack

(8/30/05): Oops! I had to do a restore of my web content, but I forgot Super Smack, so it was gone for a few days. Sorry about that! It's back now.

(5/30/05): Super Smack 1.3 is is released!. Super Smack 1.3 includes the following fixes:

  • PostgreSQL support now builds correctly (tested with 7.4)
  • Super Smack should now build correctly under NetBSD (tested with 2.0.2 by Simon Lundström), OpenBSD, FreeBSD (tested on 5.3), and MacOS X
  • Super Smack should build on Solaris (tested under Solaris 10 x86)

    Thanks to Dan Price who did the Solaris fixes, and Josh Varner submitted a definition for Mac OS X, and Simon Lundström who helped work out a NetBSD build issue.

    (5/27/05): I recently realized that PostgreSQL support for Super Smack doesn't work. It doesn't compile under any platform I tried (including Linux). I tinkered with the C++ code and I got a clean compile and it looks like it works. I've got some more testing to do, but if everything checks out then I'll post my fixes.

    Just added (5/25/045): Super Smack FAQ

    Super Smack is a benchmarking, stress testing, and load generation tool for MySQL (and PostgreSQL). Super Smack was originally written by Sasha Pachev, and then hosted and maintained by Jeremy Zawodny.

    I've found it a very useful tool, and when Jeremy Zawodny announced he wanted someone to take over the project, I happily volunteered.

    I used Super Smack for a series of articles I did on MySQL performance on multiple operating systems (Part I: Method and Part II: Results).

    The current version is 1.2, and Super Smack 1.2 should compile for Linux without any problems. With some adjustments, I've been able to get Super Smack to compile for NetBSD 2.0, FreeBSD 5.3, FreeBSD 4.11, and OpenBSD 3.6. Dan Price has submitted some patches to get it to compile on Solaris 10.

    Shortly I'll have a 1.3 release ready, which incorporates my BSD compilation fixes and Dan's Solaris fixes, then followed by some binary releases.

    For those that want to try Super Smack on FreeBSD 5.3, I've got a source-binary tarball available: Super Smack 1.2 for FreeBSD 5.3. Just unzip, untar, cd into the directory and do a make install. I'll get around to making a FreeBSD package sometime soon.


  • Super Smack 1.3 source
  • Super Smack 1.2.1 binary package for Solaris 10 x86 | The only difference in 1.2.1 is changes made to make it compile for Solaris.
  • Super Smack 1.2 for FreeBSD 5.3 binary tarball
  • Super Smack 1.2
  • Super Smack 1.1

    Todo List

  • Quick tutorial
  • 1.3 release

    Other Benchmarks

    Super Smack isn't the only database benchmark around of course. Here are a few others that I've found to be very useful.

  • SysBench

    SysBench is a selection of benchmarks for I/O, scheduler, threads, and other tests. It also includes an OLTP benchmark for testing transactions per second on a database, and is a favorite of the MySQL folks. MySQL and PostgreSQL are both supported.


  • Local versus Remote: With any network-based application, it's often a good idea to perform the benchmarks from a remote machine rather than local. However, there are some issues with Super Smack, MySQL, and databases in general that you should consider.