Sysbench

In computing, sysbench is an open-source software tool. Specifically, it is a scriptable multi-threaded benchmarking tool designed for Linux systems. It is a C binary and uses LuaJIT scripts to execute benchmarks. It is most frequently used for database benchmarks, for example MySQL, but can also be used to create arbitrarily complex workloads that do not involve a database server for general testing. It is a multi-purpose benchmark that features tests for CPU, memory, I/O, and database performance testing. It is a basic command line utility that offers a direct way to benchmark computer hardware. It now comes packaged in most major Linux distribution repositories such as Debian, Ubuntu, CentOS and Arch Linux.

History
Sysbench was originally created by Peter Zaitsev in 2004. Soon after, Alexy Kopytov took over its development.

Design
Sysbench tests the load by running multiple threads at the same time. The number of threads is specified by the user. Depending on the testing mode, Sysbench can test the total number of requests or the amount of time required to run the complete benchmark, or both.

Usage
Sysbench can be run benchmark test specified in a linux shell or in shell script, or there are several other commands such as prepare or cleanup. The type of test to run is specified in the command options and would be one of:


 * cpu: CPU performance test
 * fileio: File I/O test
 * memory: Memory speed test
 * mutex: Mutex performance test
 * threads: Threads subsystem performance test

Sample Command Usage
A commonly used variation of Sysbench may look like the following:.