A simple database benchmarking tool supporting multiple databases and custom SQL scripts.
dbbench is a command-line tool for benchmarking and stress testing databases. It allows developers to evaluate database performance under various loads using built-in benchmarks for standard operations (inserts, updates, selects, deletes) or custom SQL scripts with template-based variable substitution. The tool supports multiple database systems and is designed for simplicity and flexibility in performance testing scenarios.
Database administrators, backend developers, and DevOps engineers who need to assess database performance, compare configurations, or simulate load conditions during development or staging. It is particularly useful for those working with Cassandra, MS SQL, MySQL, PostgreSQL, SQLite, or compatible databases.
Developers choose dbbench for its straightforward approach to database benchmarking, offering both ready-to-use built-in benchmarks and the ability to run custom, dynamic queries with fine-grained control over iterations, threads, and execution flow. Its multi-database support and Docker integration make it a versatile tool for cross-environment testing without unnecessary complexity.
🏋️ dbbench is a simple database benchmarking tool which supports several databases and own scripts
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports six major database systems including Cassandra, MySQL, and PostgreSQL, with compatibility for variants like ScyllaDB and CockroachDB, as listed in the Supported Databases section.
Enables dynamic query generation using Go's template engine with built-in variables and functions like RandInt64, allowing for realistic load simulation with randomized data in SQL files.
Includes standard insert, update, select, and delete operations for quick performance testing without setup, providing baseline metrics in a straightforward command-line output.
Available as a Docker image for consistent deployment across environments, simplifying setup and testing in containerized workflows, as shown in the Installation examples.
MS SQL lacks built-in benchmarks, forcing users to write custom scripts for basic operations, which adds overhead compared to other supported databases.
Custom SQL files are loaded entirely into memory, which can cause performance issues or failures with large scripts, as cautioned in the Custom Scripts section.
The tool explicitly warns against use on production databases and lacks features like automatic rollback or safe data handling, limiting it to development and staging only.