sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT. It is most frequently used for database benchmarks, but can also be used to create arbitrarily complex workloads that do not involve a database server. extensive statistics about rate and latency is available, including latency percentiles and histograms. Low overhead even with thousands of concurrent threads. sysbench is capable of generating and tracking hundreds of millions of events per second. New benchmarks can be easily created by implementing pre-defined hooks in user-provided Lua scripts. Can be used as a general-purpose Lua interpreter as well, simply replace #!/usr/bin/lua with #!/usr/bin/sysbench in your script. Execute events for this many seconds with statistics disabled before the actual benchmark run with statistics enabled. This is useful when you want to exclude the initial period of a benchmark run from statistics.
Features
- Collection of OLTP-like database benchmarks
- Filesystem-level benchmark
- Simple CPU benchmark
- Memory access benchmark
- Thread-based scheduler benchmark
- POSIX mutex benchmark