HammerDB Documentation


Table of Contents

1. Installation and Configuration
1. Release Notes
1.1. Nomenclature Change
1.2. Stored Procedure Refactoring and Performance
1.3. Storing, Retrieval and Visualization of Results
1.4. Schema and Consistency Checks
1.5. Docker CloudTK GUI
1.6. Quotemeta to escape special characters in passwords
1.7. Microsoft SQL Server 2022 Entra Authentication
1.8. MariaDB TPROC-C purge and write back option
1.9. Giset command to dynamically set generic dictionary settings
1.10. Known Third-Party Driver Issues
1.10.1. Oracle on Windows: Oracle Bug 12733000 OCIStmtRelease crashes or hangs if called after freeing the service context handle
1.10.2. SQL Server on Linux: unixODBC's handle validation may become a performance bottleneck
1.10.3. Db2 driver is not included in the HammerDB Docker image or build
1.11. Linux Xft Font and Cairo Graphics Pre-Installation Requirements
2. Documentation License and Copyright
3. HammerDB v4.10 New Features
4. Test Matrix
5. Downloading HammerDB
6. Checksum Verification
7. Installing and Starting HammerDB on Windows
7.1. Self Extracting Installer
7.2. Zip File
7.3. Starting HammerDB
7.4. Uninstalling HammerDB
8. Installing and Starting HammerDB on Linux
8.1. Self Extracting Installer
8.2. Tar.gz File
8.3. Starting HammerDB
8.4. Uninstalling HammerDB
9. HammerDB Docker Container Build & Run
9.1. Docker Image
9.2. CloudTK Web Application Docker Image
9.3. Dockerfile Download and installation
9.4. Building the HammerDB Container
9.5. Running the Container
9.5.1. IBM Client install
9.6. Connecting the Container to the Network
10. Verifying the Installation of Database Client Libraries
10.1. Oracle Client
10.2. SQL Server
10.3. Db2
10.4. MySQL
10.5. MariaDB
10.6. PostgreSQL
11. XML & Persistent Configuration
12. Themes and Scalable Graphics
13. Building HammerDB from Source
13.1. Compiler & Dependency Install on Linux
13.2. Compiler & Dependency Install on Windows
13.3. Download HammerDB Source
13.4. Running the Build
13.5. HammerDB License
2. Quick Start
1. Building the Schema
2. Run a Test Workload
3. Run a Timed Workload
4. Using the Transaction Counter
5. Deleting the Schema
3. Introduction to OLTP Testing (TPROC-C derived from TPC-C)
1. What is a Transactional Workload
2. What is the TPC and the TPROC-C workload derived from TPC-C?
3. HammerDB TPROC-C workload
4. Comparing HammerDB results
5. Understanding the TPROC-C workload derived from TPC-C
6. TPROC-C key similarities and differences from TPC-C
7. How many warehouses to create for the TPROC-C test
8. Publishing database performance results
4. How to Run a TPROC-C Workload
1. Test Network Configuration
1.1. SUT Database Server Configuration
1.2. Load Generation Server Configuration
1.3. CPU Single-Threaded Performance Calibration
1.4. Administrator PC Configuration
2. Installation and Configuration
2.1. Oracle
2.2. Microsoft SQL Server
2.3. Db2
2.4. MySQL
2.5. MariaDB
2.6. PostgreSQL
3. Configuring Schema Build Options
3.1. Oracle Schema Build Options
3.2. Microsoft SQL Server Schema Build Options
3.2.1. In-Memory Optimized Tables
3.2.2. Build Options
3.3. Db2 Schema Build Options
3.4. MySQL Schema Build Options
3.5. MariaDB Schema Build Options
3.6. PostgreSQL Schema Build Options
4. Creating the Schema
5. Checking the Schema
6. Deleting the Schema
6.1. Deleting or Verifying the Oracle Schema
6.2. Deleting or Verifying the SQL Server Schema and In-memory Schema
6.3. Deleting or Verifying the Db2 Schema
6.4. Deleting or Verifying the MySQL Schema
6.5. Deleting or Verifying the MariaDB Schema
6.6. Deleting or Verifying the PostgreSQL Schema
7. Configuring Driver Script options
8. Advanced Driver Script Options
8.1. Use All Warehouses for increased I/O
8.2. Time Profile for measuring Response Times
8.3. Event Driven Scaling for Keying and Thinking Times
8.4. XML Connect Pool for Cluster Testing
8.5. Step Testing with Variable Load
9. Additional Driver Script Options for Stored Procedures and Server Side Reports: PostgreSQL, MySQL, MariaDB, Oracle, Db2 and EnterpriseDB PostgreSQL
9.1. PostgreSQL Stored Procedures
9.2. MySQL Prepare Statements
9.3. MariaDB Prepare Statements
9.4. No Stored Procedures Option for MySQL and MariaDB
9.5. Oracle AWR Reports
9.6. Db2 MONREPORT
9.7. EnterpriseDB PostgreSQL DRITA
10. Loading the Driver Script
11. Configure Virtual Users
12. Create and Run Virtual Users
5. Autopilot for Automated Testing
1. Configure and Run Autopilot
2. Autopilot Troubleshooting
3. Extending Autopilot to start automatically
6. Transactions
1. Oracle Transaction Counter
2. SQL Server Transaction Counter
3. Db2 Transaction Counter
4. MySQL Transaction Counter
5. MariaDB Transaction Counter
6. PostgreSQL Transaction Counter
7. Running the Transaction Counter
8. Logging Transaction Counter Output
9. Ribbon effect
7. CPU and Database Metrics
1. Start the Agent
2. Configure Metrics
3. Monitor Metrics
4. Oracle Database Metrics
5. PostgreSQL Database Metrics
8. Remote Primary and Replica Modes
1. Primary Mode
2. Replica Mode
3. Primary Distribution
9. Command Line Interface (CLI)
1. Start the CLI
2. Start the CLI in Python
3. CLI Commands
3.1. CLI commands in Python
4. Configure Schema Build
5. Building the Schema
6. Configure Driver
7. Configure Virtual Users
8. Run the workload
9. CLI Scripting in Tcl
10. CLI Scripting in Python
11. CLI Example Scripts driven by Bash and Powershell
12. CLI Jobs Interface
10. Viewing Jobs with the Web Service Interface (WS)
1. Web Service Configuration
2. Viewing Jobs
11. Introduction to Analytic Testing (TPROC-H derived from TPC-H) and Cloud Queries
1. What is TPROC-H derived from TPC-H?
2. Running the Power and Throughput Test and Calculating the Geometric Mean
3. Choosing a Database for running TPROC-H workloads
3.1. Oracle
3.2. Microsoft SQL Server
3.3. Db2
3.4. PostgreSQL
3.5. MySQL
3.6. MariaDB
4. Benchmarking Database Cloud Services
4.1. Redshift Cloud Analytic Workload
12. How to Run an Analytic Workload
1. SUT Database Server Configuration
2. Installation and Configuration
2.1. Oracle
2.2. SQL Server
2.3. Db2
2.4. PostgreSQL
2.5. MySQL
2.6. MariaDB
3. Configuring Schema Build Options
3.1. Oracle Schema Build Options
3.2. SQL Server Schema Build Options
3.3. Db2 Schema Build Options
3.4. MySQL Schema Build Options
3.5. MariaDB Schema Build Options
3.6. PostgreSQL Schema Build Options
4. Creating the Schema
4.1. Verifying and Backing-Up the Oracle Schema
4.2. Verifying and Backing Up the SQL Server Schema
4.3. Verifying and Backing up the Db2 Schema
4.4. Verifying and Backing up the MySQL Schema
4.5. Verifying and Backing up the MariaDB Schema
4.6. Verifying and Backing up the PostgreSQL Schema
5. Checking the Schema
6. Configuring Driver Script Options
7. Loading the Driver Script
8. Configure Virtual Users
9. Run a Single Virtual User Test
9.1. Changing the Query Order
10. Run a Power Test
11. Run a Throughput Test
11.1. SQL Server Snapshot Isolation
12. Calculate the Geometric Mean
13. Generating and Loading Bulk Datasets
1. Generate the Dataset
2. Generate the Dataset with the CLI
3. Generate the template database
3.1. Capture and run the table creation DDL
3.1.1. Oracle
3.1.2. SQL Server
3.1.3. Db2
3.1.4. MySQL
3.1.5. PostgreSQL/Amazon Redshift
4. Run the bulk data load
4.1. Oracle
4.2. SQL Server
4.3. Db2
4.4. MySQL
4.5. MariaDB
4.6. PostgreSQL/Amazon Redshift
14. Oracle Trace File Replay
1. Generating Trace Files
2. Converting Oracle Trace Files
3. Replaying Oracle Trace Files
4. Capturing Errors from Trace File Workloads
15. HTTP and HTTPS Testing
1. HTTPS Script
2. HTTPS Output
16. GNU Free Documentation License

List of Figures

1.1. Verified Publisher
1.2. HammerDB Version
1.3. GPL v3 License
1.4. Choose the Installation Directory
1.5. Files copying
1.6. Complete
1.7. Complete the Setup Wizard
1.8. HammerDB Started
1.9. Zip File
1.10. hammerdb batch file
1.11. Uninstall
1.12. Uninstall database files
1.13. Docker Sponsored OSS
1.14. CloudTK Launcher
1.15. Launch HammerDB
1.16. HammerDB GUI within a browser
1.17. Docker File Download
1.18. docker build
1.19. Successfully built
1.20. docker run
1.21. IBM client
1.22. Dependencies MySQL
1.23. LIBMYSQL.DLL Properties
1.24. Environment Variables
1.25. Path environment variable
1.26. XML Configuration Files
1.27. Database Files
1.28. Modified Default Database
1.29. Scaling Graphics
1.30. Linux Theme Awlight
1.31. Windows Theme Breeze
1.32. Download Source
1.33. Windows build
2.1. Benchmark Options
2.2. Build Options
2.3. Create Schema
2.4. Building Schema
2.5. Schema build complete
2.6. Driver Options
2.7. Driver Script Loaded
2.8. Virtual User Options
2.9. Virtual Users Created
2.10. Virtual Users Running
2.11. Driver Options
2.12. Virtual Users
2.13. Virtual User and Monitor Created
2.14. Timed Workload Running
2.15. Test Result
2.16. Transaction Counter
2.17. Delete Schema
2.18. Confirm Deletion
2.19. Schema deleted
3.1. WAL Test
3.2. TPROC-C Schema
4.1. ODBC Drivers
4.2. Benchmark Options
4.3. Schema Build Options
4.4. Oracle Build Options
4.5. SQL Server Build Options
4.6. Db2 Build Options
4.7. MySQL Build Options
4.8. MariaDB Build Options
4.9. PostgreSQL Build Options
4.10. Build
4.11. Create Schema
4.12. Schema Build Start
4.13. Schema complete
4.14. Check TPROC-C Schema
4.15. TPROC-C Schema Check Complete
4.16. Delete Schema Option
4.17. Delete Schema Dialog
4.18. Schema Deleted
4.19. SQL Server in-Memory
4.20. In-memory report
4.21. Driver Script Options
4.22. Driver Script Options
4.23. Use All Warehouses Option
4.24. Use All Warehouses
4.25. Time Profile
4.26. graphical response times
4.27. Excel Warning
4.28. Highlighted Rows
4.29. Response Time Graph
4.30. Asynchronous Options
4.31. Session Count
4.32. Logging In Asynchronous Clients
4.33. Asynchronous Workload Running
4.34. Steady State
4.35. Asynchronous Workload Complete
4.36. Connect Pooling
4.37. XML Connect Pool
4.38. Connections Comment
4.39. Step Test
4.40. Step Load
4.41. No Stored Procedures Option
4.42. Driver Script Loaded
4.43. Virtual User Options
4.44. Virtual User
4.45. Virtual Users Create
4.46. Virtual Users Running
4.47. Virtual Users Complete
5.1. Autopilot Options
5.2. Autopilot Options
5.3. Run Autopilot
5.4. Autopilot Running
5.5. Autopilot Continuing
5.6. Autopilot Complete
5.7. Autopilot Error
6.1. Transaction Counter Options
6.2. Oracle TX Counter Options
6.3. SQL Server TX Counter Options
6.4. Db2 TX Counter Options
6.5. MySQL TX Counter Options
6.6. MariaDB TX Counter Options
6.7. PostgreSQL TX Counter Options
6.8. Start Transaction Counter
6.9. Transaction Counter Starting
6.10. Transaction Counter Running
6.11. Transaction Counter standalone.
6.12. Transaction Counter Window Resize
6.13. Log Transaction Counter Output
7.1. agent.bat
7.2. Security Alert
7.3. Windows agent
7.4. Metrics Options
7.5. Agent Options
7.6. Display
7.7. Agent connected
7.8. Display connected
7.9. Metrics running
7.10. Large Core count
7.11. Oracle Metrics Options
7.12. Oracle Metrics Display Linux
7.13. Oracle Metrics Display Windows
7.14. Oracle Metrics Event
7.15. Oracle Database CPU Metrics
7.16. PostgreSQL Metrics Options
7.17. PostgreSQL Metrics Display Linux
7.18. PostgreSQL Metrics Display Expanded
7.19. PostgreSQL Metrics Event
8.1. Mode
8.2. Mode Options
8.3. Mode Options Select
8.4. Primary Mode Select
8.5. Mode Confirmation
8.6. Mode Active
8.7. Replica Mode
8.8. Primary Distribution
8.9. Operating in Replica Mode
8.10. Replica Mode terminated
9.1. hammerdbcli.bat
9.2. CLI Windows
9.3. CLI Python
10.1. Jobs Option
10.2. Jobs and Web Service Configuration
10.3. Web Service Status
10.4. Running Jobs
10.5. Browse Results
10.6. Job Index
10.7. JSON data
10.8. Result Chart
10.9. Transaction Count
10.10. Response Times
10.11. TPROC-H Timing
11.1. TPROC-H Schema.
11.2. Power Query
11.3. Clustered Columnstore
11.4. Db2 Organize By
11.5. PostgreSQL TPROC-H
11.6. MySQL TPROC-H
11.7. MariaDB TPROC-H
11.8. Redshift console
11.9. Create Security Group
12.1. Max Degree of Parallelism
12.2. Benchmark Options
12.3. TPROC-H Schema Build Options
12.4. Oracle TPROC-H Build Options
12.5. SQL Server Build Options
12.6. Db2 Build Options
12.7. MySQL Build Options
12.8. MariaDB Build Options
12.9. PostgreSQL Build Options
12.10. Build TPROC-H Schema
12.11. Create Schema
12.12. Schema Build Start
12.13. Schema Build Complete
12.14. Backup SQL Server
12.15. Backup successful
12.16. Restore SQL Server
12.17. Restore successful
12.18. Check TPROC-H Schema
12.19. TPROC-H Schema Check Completed
12.20. Driver Script Options
12.21. TPROC-H Driver Options
12.22. Driver Script Loaded
12.23. Virtual User Options
12.24. Virtual User Options
12.25. Modified Options
12.26. Run a single Virtual User Test
12.27. Single Virtual User Complete
12.28. Power Test Options
12.29. TPROC-H refresh on
12.30. Power Test
12.31. Power Test Complete
12.32. Throughput Test
12.33. Enable Snapshot Isolation
12.34. SQL Server with Snapshot Isolation
12.35. Throughput test complete
13.1. Data Directory
13.2. Benchmark Options
13.3. Datagen Options
13.4. Data Generation Options
13.5. Multiple files
13.6. Generate
13.7. Generate Data Confirmation
13.8. Generating Data
13.9. CPU Utilisation 100%
13.10. Schema Generated
13.11. Pipe Delimited Data
13.12. SQL Server Create Table
13.13. SQL Server Bulk Insert
13.14. Upload to S3
13.15. Postgres User Access Keys
13.16. S3 Permissions
14.1. Doc 39817.1
14.2. Open File
14.3. Trace Loaded
14.4. Convert Trace
14.5. Trace Converted
14.6. Run Trace
14.7. Multiuser Test

List of Tables

1.1. OS Test Matrix
1.2. Database Test Matrix
1.3. 3rd party libraries
4.1. Oracle Options
4.2. SQL Server Build Options
4.3. Db2 Build Options
4.4. MySQL Build Options
4.5. MariaDB Build Options
4.6. PostgreSQL Build Options
4.7. Driver Script Options
4.8. Xt Time Profile
4.9. Virtual User Options
5.1. Autopilot Options
9.1. Python version dependency
9.2. CLI commands
9.3. Jobs command
11.1. Query Streams and Scale Factors
12.1. Oracle Build Options
12.2. SQL Server Build Options
12.3. Db2 Build Options
12.4. MySQL Build Options
12.5. MySQL Build Options
12.6. PostgreSQL Build Options
12.7. Driver Script Options
12.8. Virtual User Options