HammerDB

HammerDB is a GUI TCL/TK application for benchmarking and load testing databases. It is open source under the GPL license and hosted at SourceForge

HammerDB 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:

DatabaseExtension
Oracle/TimesTenOratcl
MS SQL Server/Linux and WindowsDebian patch version of TclODBC 2.5.1
IBM DB2updated version of db2tclBelinksy to add bind variable support
MariaDB/MySQL/Amazon AuroraMySQLTcl
PostgreSQL/Greenplum/Amazon RedshiftPgTcl Pgtclng version
RedisIn-built TCL client
Trafodion SQL on HadoopTDBC

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.