The MariaDB 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 MariaDB source distribution.
Note that 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 suite is provided with MariaDB source distributions. You can either download a released distribution from http://dev.mysql.com/downloads/, or use the current development source tree. (See , "Installing MariaDB from a Development Source Tree".)
- 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
, andDBD::DB2
modules installed. See , "Perl Installation Notes".
After you obtain a MariaDB 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:
- What data types are supported
- How many indexes are supported
- What functions are supported
- How big a query can be
- How big a
VARCHAR
column can be
For more information about benchmark results, visit http://www.mysql.com/why-mysql/benchmarks/.