SysBench is a modular, cross-platform and multi-threaded benchmark tool for evaluating OS parameters that are important for a system running a database under intensive load.
The idea of this benchmark suite is to quickly get an impression about system performance without setting up complex database benchmarks or even without installing a database at all.
Current features allow to test the following system parameters:
-
file I/O performance
-
scheduler performance
-
memory allocation and transfer speed
-
POSIX threads implementation performance
-
database server performance
./autogen.sh
./configure
make
The above will build SysBench with MySQL support by default. If you have MySQL headers and libraries in non-standard locations (and no mysql_config can be found in the PATH), you can specify them explicitly with --with-mysql-includes and --with-mysql-libs options to ./configure.
To compile SysBench without MySQL support, use --without-mysql. In
this case all database-related tests will not work, but other tests will
be functional.
The general syntax for SysBench is as follows:
sysbench [common-options] --test=name [test-options] command
See General command line options for a description of common options and documentation for particular test mode for a list of test-specific options.
Below is a brief description of available commands and their purpose:
prepare: performs preparative actions for those tests which need them, e.g. creating the necessary files on disk for thefileiotest, or filling the test database for OLTP tests.run: runs the actual test specified with the--testoption.cleanup: removes temporary data after the test run in those tests which create one.help: displays usage information for a test specified with the--testoption.
Also you can use sysbench help (without --test) to display the brief usage summary and the list of available test modes.
The table below lists the supported common options, their descriptions and default values:
Note that numerical values for all size options (like --thread-stack-size in this table) may be specified by appending the corresponding multiplicative suffix (K for kilobytes, M for megabytes, G for gigabytes and T for terabytes).
