MySQL Benchmark Tool

DBT2 Benchmark Tool

The DBT2 Benchmark Tool can be used to run automated benchmarks for MySQL and MySQL Cluster. It supports three types of benchmarks:

  • DBT2
  • SysBench
  • flexAsynch

It has been primarily used on Linux x86_64 platforms, but occasional benchmarks have also been run on Solaris and Windows. It can be used to test MySQL based on MySQL 5.6 and MySQL 5.7 Releases (older versions might work as well but isn't maintained any more).

DBT2 is an open source benchmark that mimics an OLTP application for a company owning large amounts of warehouses. It contains transactions to handle New Orders, Order Entry, Order Status, Payment and Stock handling. The transactions are a mix of read and write transactions. Using MySQL the benchmark tests a single MySQL Server instance. Using MySQL Cluster the benchmark tool can drive large distributed tests with many MySQL Cluster Data nodes and MySQL Server instances. The DBT2 Benchmark Tool provides scripts to automate execution of these benchmarks.

The DBT2 tarball also contains a benchmark tool using PowerShell on Windows to run sysbench on Windows. There is also scripts mimicing top on Windows. Finally there is also a set of simple scripts to use the perf tool on Linux.

FlexAsynch is a benchmark specifically developed to test scalability of MySQL Cluster. It is found in any MySQL Cluster source tarball under storage/ndb/test/ndbapi. The features required to run it in this parallel manner requires a MySQL Cluster 7.x version released after the 15th of October 2011. The DBT2 Benchmark Tool can be used to run distributed tests with many MySQL Cluster Data nodes and many flexAsynch benchmark programs in a completely automated fashion. The latest version of flexAsynch mainly exists in the latest 7.3 and 7.4 trees.

MySQL Server Version: 5.6, 5.7 Releases
MySQL Cluster Version: MySQL Cluster 7.3 and MySQL Cluster 7.4.
Download DBT2 Benchmark Tool »

SysBench Benchmark Tool

Sysbench is a popular open source benchmark to test open source DBMSs. The DBT2 Benchmark Tool can be used to run automated test runs of Sysbench for a single MySQL Server instance running InnoDB or running a MySQL Cluster set-up with a single MySQL Server instance.

All automated benchmark programs assume that the machines can be accessed using ssh. All benchmarks require a MySQL source or binary tarball packed with gzip. The Sysbench benchmark also requires usage of the Sysbench tarball downloadable below. This tarball (Sysbench 0.4.12.10) contains a number of extra features added to Sysbench 0.4.12 which are used by the DBT2 Benchmark Tool. The DBT2 Benchmark Tool tarball (dbt2-0.37.50) is based on dbt2-0.37 with a lot of changes and additions to automate benchmark runs.

MySQL Server Version: 5.6, 5.7 Releases
MySQL Cluster Version: MySQL Cluster 7.3 and MySQL Cluster 7.4.
Download SysBench Benchmark Tool »