sysbench is a cli benchmark tool capable of doing general-purpose benchmarks of CPU, memory, I/O performance as well more specialized benchmarks. It is based on LuaJIT. It is mostly useful for testing server and VPS performance as it lacks any support for testing graphics performance and other desktop-oriented features.
Features and Usability
sysbench is a cli program meant to be run from a terminal. Its basic use is
sysbench testname run where the tests would be one of:
- cpu - CPU performance test
- fileio - File I/O test
- memory - Memory functions speed test
- mutex - Mutex performance test
- threads - Threads subsystem performance test
or, for the more advanced users,
oltp_*.lua to run specialized database benchmarks.
Each test has a number of configuration options specific to it. Run
sysbench testname help as in
sysbench memory help to see what options are availalbe when running a specific test. Options are not required to run the
memory tests. The
fileio test will not run without specifying a
sysbench has a number of command line options who apply to all the test. Type
sysbench help to see them. The
--time=N options are worth adjusting for most of the tests. sysbench defaults to using just one thread and the time a test is allowed to run before it exists defaults to just 10 seconds. The CPU test will therefore test single-thread performance on one core for 10 seconds if you do not adjust those options.
Verdict And Conclusion
sysbench is a handy tool worth being aware of. It can be useful if you want to see how two systems compare to each other in the areas it has tests for.
sysbench is available as a package named
sysbench on the vast majority of GNU/Linux distributions. There are some installation instructions on the homepage. You will likely not need those, just install it with your distributions regular package manager.