8.1.3 The MySQL Benchmark Suite

This benchmark suite is meant to tell any user what operations a
given SQL implementation performs well or poorly. You can get a
good idea for how the benchmarks work by looking at the code and
results in the sql-bench directory in any
MySQL source distribution.

This benchmark is single-threaded, so it measures the minimum
time for the operations performed. We plan to add multi-threaded
tests to the benchmark suite in the future.

To use the benchmark suite, the following requirements must be
satisfied:

The benchmark scripts are written in Perl and use the Perl
DBI module to access database servers, so DBI must be
installed. You also need the server-specific DBD drivers for
each of the servers you want to test. For example, to test
MySQL, PostgreSQL, and DB2, you must have the
DBD::mysql, DBD::Pg,
and DBD::DB2 modules installed. See
Section 2.15, “Perl Installation Notes”.

After you obtain a MySQL source distribution, you can find the
benchmark suite located in its sql-bench
directory. To run the benchmark tests, build MySQL, and then
change location into the sql-bench
directory and execute the run-all-tests
script:

shell> cd sql-bench
shell> perl run-all-tests --server=server_name

server_name should be the name of one
of the supported servers. To get a list of all options and
supported servers, invoke this command:

shell> perl run-all-tests --help

The crash-me script also is located in the
sql-bench directory.
crash-me tries to determine what features a
database system supports and what its capabilities and
limitations are by actually running queries. For example, it
determines: