sysbench - multi-threaded benchmark tool for database
systems
sysbench [common-options] --test=name [test-options] <command>
Commands: prepare run cleanup help version
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.
The design is very simple. SysBench runs a specified number of
threads and they all execute requests in parallel. The actual workload
produced by requests depends on the specified test mode. You can limit
either the total number of requests or the total time for the benchmark, or
both.
Compiled-in database drivers:
- mysql - MySQL driver
- pgsql - PostgreSQL driver
Compiled-in tests:
- fileio - File I/O test
- cpu - CPU performance test
- memory - Memory functions speed test
- threads - Threads subsystem performance test
- mutex - Mutex performance test
Available test modes are implemented by compiled-in modules, and
SysBench was designed to make adding new test modes an easy task. Each test
mode may have additional (or workload-specific) options.
- --threads=N
- number of threads to use [1]
- --events=N
- limit for total number of events [0]
- --time=N
- limit for total execution time in seconds [10]
- --forced-shutdown=STRING
- number of seconds to wait after the --time limit before forcing
shutdown, or 'off' to disable [off]
- --thread-stack-size=SIZE
- size of stack per thread [64K]
- --rate=N
- average transactions rate. 0 for unlimited rate [0]
- --report-interval=N
- periodically report intermediate statistics with a specified interval in
seconds. 0 disables intermediate reports [0]
--report-checkpoints=[LIST,...] dump full statistics and reset all
counters at specified points in time. The argument is a list of
comma-separated values representing the amount of time in seconds elapsed
from start of test when report checkpoint(s) must be performed.
Report checkpoints are off by default. []
- --debug[=on|off]
- print more debugging info [off]
- --validate[=on|off]
- perform validation checks where possible [off]
- --help[=on|off]
- print help and exit [off]
- --version[=on|off]
- print version and exit [off]
- --config-file=FILENAME
- File containing command line options
- --tx-rate=N
- deprecated alias for --rate [0]
- --max-requests=N
- deprecated alias for --events [0]
- --max-time=N
- deprecated alias for --time [0]
- --num-threads=N
- deprecated alias for --threads [1]
- --verbosity=N
- verbosity level {5 - debug, 0 - only critical messages} [3]
- --percentile=N
- percentile to calculate in latency statistics (1-100). Use the special
value of 0 to disable percentile calculations [95]
- --histogram[=on|off]
- print latency histogram in report [off]
- --mysql-host=[LIST,...]
- MySQL server host [localhost]
- --mysql-port=[LIST,...]
- MySQL server port [3306]
- --mysql-socket=[LIST,...]
- MySQL socket
- --mysql-user=STRING
- MySQL user [sbtest]
- --mysql-password=STRING
- MySQL password []
- --mysql-db=STRING
- MySQL database name [sbtest]
- --mysql-ssl[=on|off]
- use SSL connections, if available in the client library [off]
- --mysql-ssl-cipher=STRING
- use specific cipher for SSL connections []
- --mysql-compression[=on|off]
- use compression, if available in the client library [off]
- --mysql-debug[=on|off]
- trace all client library calls [off]
--mysql-ignore-errors=[LIST,...] list of errors to ignore, or
"all" [1213,1020,1205]
- --mysql-dry-run[=on|off]
- Dry run, pretend that all MySQL client API calls are successful
without executing them [off]
- --file-num=N
- number of files to create [128]
- --file-block-size=N
- block size to use in all IO operations [16384]
- --file-total-size=SIZE
- total size of files to create [2G]
- --file-test-mode=STRING
- test mode {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw}
- --file-io-mode=STRING
- file operations mode {sync,async,mmap} [sync]
- --file-async-backlog=N
- number of asynchronous operatons to queue per thread [128]
--file-extra-flags=[LIST,...] list of additional flags to use to
open files {sync,dsync,direct} []
- --file-fsync-freq=N
- do fsync() after this number of requests (0 - don't use
fsync()) [100]
- --file-fsync-all[=on|off]
- do fsync() after each write operation [off]
- --file-fsync-end[=on|off]
- do fsync() at the end of test [on]
- --file-fsync-mode=STRING
- which method to use for synchronization {fsync, fdatasync} [fsync]
- --file-merged-requests=N
- merge at most this number of IO requests if possible (0 - don't merge)
[0]
- --file-rw-ratio=N
- reads/writes ratio for combined test [1.5]
--cpu-max-prime=N upper limit for primes generator
[10000]
--thread-yields=N number of yields to do per request
[1000]
- --thread-locks=N
- number of locks per thread [8]
- --mutex-num=N
- total size of mutex array [4096] --mutex-locks=N number of mutex
locks to do per thread [50000] --mutex-loops=N number of empty
loops to do outside mutex lock [10000]
Upstream provided html-formatted manual, describing the features
of sysbench: /usr/share/doc/sysbench/manual.html