HammerDB is a GUI TCL/TK application for benchmarking and load testing databases. It is open source under the GPL license and hosted at
SourceForgeHammerDB is usually installed ready to run with pre-compiled TCL/TK and extensions for Windows and Linux by downloading an
InstallJammer package. The same TCL/TK code runs on Windows and Linux with a choice of
Tile based themes. It was originally called Hammerora supporting
Oracle only however the name was changed to reflect support for the following databases using these TCL extensions:
Other databases can be supported by adding additional database extensions and support for further databases is planned.
The graphical interface supports a TCL Script Editor Window which is populated with built-in scripts displayed using
Ctext to connect to target databases and build and populate schemas, load stored procedures and drive test workloads based on the industry standard
TPC-C and
TPC-H benchmarks.
A key feature is an autopilot mode that allows a sequence of tests to run unattended, data can be created to flat files for external loading and multiple GUI clients can be connected together for remote control using
comm. Oracle trace files can also be converted into
Oratcl format for replay.
Multiple virtual users are simulated using TCL Threads with the contents of the Script Editor sent to the virtual users for execution and tracked with an output format in
tablelist form. HammerDB is implemented in TCL/TK specifically for its robustness, stability and implementation of
Tcl and threads. In particular the one interpreter per thread model lends itself to high scalability meaning that the application can drive workloads in the many millions of transactions per minute on database servers with hundreds of cores without client bottlenecks and thread safety in all of the listed database extensions.
Results have proven to mimic scalability of official benchmarks with output reported in a format that can be used to compare both database hardware and software. Oracle released their
first open source benchmark of the Oracle Database using HammerDB and it is recommend for testing cloud databases such as the
Google Cloud. At
Oracle Openworld 2014 a demo was shown using this TCL/TK application in the Intel keynote to demonstrate Silicon Photonics.
HammerDB skills are often listed in recruitment for database performance test engineers and the project lists known database performance on its
benchmarks page with publications from companies including Intel, IBM, HPE, Supermicro, Huawei, Lenovo, Dell/EMC, NetApp, Cisco, VMware, Micron, Memblaze, NEC, RedHat and SanDisk.
There is a modified version of the
CPU monitor included to run on Windows and Linux.
The database transaction counter monitor uses a combination of updated
emu_graph and
Ribbon Graphs to display live transaction data.