Sysbench
{{Short description|Linux command}}
{{Notability|Product|date=June 2022}}
{{Infobox software
| name = Sysbench
| screenshot = Sysbench-Run.png
| screenshot size = 300px
| caption = Sysbench running
| author = Peter Zaitsev
| developer = Alexy Kopytov
| released = 2004
| discontinued = No
| latest release version = 1.0.20
| latest release date = April 24, 2020
| operating_system = Linux
| license = GNU General Public License v2.0-only{{citation|title=Sysbench License|access-date=2024-11-01|url=https://github.com/akopytov/sysbench/blob/master/debian/copyright?raw=true}}
| programming_language = C, LuaJIT
}}
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.{{Cite web|url=https://linuxhint.com/use-sysbench-for-linux-performance-testing/|title=How to Use Sysbench for Linux Performance Testing?|first=Karim|last=Buzdar}} It is a multi-purpose benchmark that features tests for CPU, memory, I/O, and database performance testing.{{Cite web |last=Congleton |first=Nick |title=How to Benchmark Your Linux System |url=https://linuxconfig.org/how-to-benchmark-your-linux-system |access-date=2022-06-01 |website=Linux Tutorials - Learn Linux Configuration |date=2 July 2018 |language=en-US}} 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.{{Cite web |last=Kopytov |first=Alexy |title=SysBench manual |url=https://imysql.com/wp-content/uploads/2014/10/sysbench-manual.pdf |access-date=2 June 2022 |website=iMySQL |type=PDF file}}
History
Sysbench was originally created by Peter Zaitsev in 2004.{{Cite web |date=2018-06-12 |title=How to Benchmark Performance of MySQL & MariaDB Using SysBench |url=https://severalnines.com/database-blog/how-benchmark-performance-mysql-mariadb-using-sysbench |access-date=2022-06-01 |website=Severalnines |language=en}} Soon after, Alexy Kopytov took over its development.{{Citation |last=Kopytov |first=Alexey |title=sysbench |date=2022-06-01 |url=https://github.com/akopytov/sysbench |access-date=2022-06-01}}
Design
Usage
Sysbench can run benchmark tests specified in command line flags or in shell scripts. The type of test to run is specified in the command options and would be one of:
cpu
: CPU performance testfileio
: File I/O testmemory
: Memory speed testmutex
: Mutex performance testthreads
: Threads subsystem performance test
Sample Command Usage
A commonly used variation of Sysbench may look like the following: sysbench --test=cpu --cpu-max-prime=20000 --threads=32 run
.