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. Build Automation
1.4. Dockerfile
1.5. Persistent Configuration
1.6. MySQL and MariaDB SSL/TLS Configuration
1.7. Known Third-Party Driver Issues
1.7.1. Oracle on Windows: Oracle Bug 12733000 OCIStmtRelease crashes or hangs if called after freeing the service context handle
1.7.2. SQL Server on Linux: unixODBC's handle validation may become a performance bottleneck
1.8. Linux Font Pre-Installation Requirements
2. Documentation License and Copyright
3. HammerDB v4.5 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. Download and installation
9.2. Building the HammerDB Container
9.3. Running the Container
9.3.1. IBM Client install
9.4. Connecting the Container to the Network
9.5. Sample_scripts folder
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
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
4.1. Deleting or Verifying the Oracle Schema
4.2. Deleting or Verifying the SQL Server Schema and In-memory Schema
4.3. Deleting or Verifying the Db2 Schema
4.4. Deleting or Verifying the MySQL Schema
4.5. Deleting or Verifying the MariaDB Schema
4.6. Deleting or Verifying the PostgreSQL Schema
5. Configuring Driver Script options
6. Advanced Driver Script Options
6.1. Use All Warehouses for increased I/O
6.2. Time Profile for measuring Response Times
6.3. Event Driven Scaling for Keying and Thinking Times
6.4. XML Connect Pool for Cluster Testing
6.5. Step Testing with Variable Load
7. Additional Driver Script Options for Stored Procedures and Server Side Reports: PostgreSQL, MySQL, MariaDB, Oracle, Db2 and EnterpriseDB PostgreSQL
7.1. PostgreSQL Stored Procedures
7.2. MySQL Prepare Statements
7.3. MariaDB Prepare Statements
7.4. Oracle AWR Reports
7.5. Db2 MONREPORT
7.6. EnterpriseDB PostgreSQL DRITA
8. Loading the Driver Script
9. Configure Virtual Users
10. 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
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. CLI Commands
3. Configure Schema Build
4. Building the Schema
5. Configure Driver
6. Configure Virtual Users
7. Run the workload
8. CLI Scripting
10. Web Service Interface (WS)
1. Web Service Configuration
2. Starting the Web Service and Help Screen
3. Retrieving Output
4. CLI & Scripted Commands
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. Configuring Driver Script Options
6. Loading the Driver Script
7. Configure Virtual Users
8. Run a Single Virtual User Test
8.1. Changing the Query Order
9. Run a Power Test
10. Run a Throughput Test
10.1. SQL Server Snapshot Isolation
11. 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. Docker File Download
1.13. docker build
1.14. Successfully built
1.15. docker run
1.16. IBM client
1.17. Dependencies MySQL
1.18. LIBMYSQL.DLL Properties
1.19. Environment Variables
1.20. Path environment variable
1.21. XML Configuration Files
1.22. Database Files
1.23. Modified Default Database
1.24. Scaling Graphics
1.25. Linux Theme Awlight
1.26. Windows Theme Breeze
1.27. Download Source
1.28. 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
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. SQL Server in-Memory
4.15. In-memory report
4.16. Driver Script Options
4.17. Driver Script Options
4.18. Use All Warehouses Option
4.19. Use All Warehouses
4.20. Time Profile
4.21. Excel Warning
4.22. Highlighted Rows
4.23. Response Time Graph
4.24. Asynchronous Options
4.25. Session Count
4.26. Logging In Asynchronous Clients
4.27. Asynchronous Workload Running
4.28. Steady State
4.29. Asynchronous Workload Complete
4.30. Connect Pooling
4.31. XML Connect Pool
4.32. Connections Comment
4.33. Step Test
4.34. Step Load
4.35. Driver Script Loaded
4.36. Virtual User Options
4.37. Virtual User
4.38. Virtual Users Create
4.39. Virtual Users Running
4.40. 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. 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
10.1. Web Service Home Page
10.2. Query Build Job
10.3. Query Transaction Count
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. Driver Script Options
12.19. TPROC-H Driver Options
12.20. Driver Script Loaded
12.21. Virtual User Options
12.22. Virtual User Options
12.23. Modified Options
12.24. Run a single Virtual User Test
12.25. Single Virtual User Complete
12.26. Power Test Options
12.27. TPROC-H refresh on
12.28. Power Test
12.29. Power Test Complete
12.30. Throughput Test
12.31. Enable Snapshot Isolation
12.32. SQL Server with Snapshot Isolation
12.33. 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. CLI commands
10.1. Jobs commands
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