1. Developer Portal ...
  2. Downloads
  3. tools
  4. TdBench 8.01 For Any DBMS
  1. Developer Portal
  2. Downloads
  3. tools
  4. TdBench 8.01 For Any DBMS

TdBench 8.01 For Any DBMS

  • benchmark
  • poc
  • performance measurement
  • workload simulation

TdBench 8.01 For Any DBMS

  • benchmark
  • poc
  • performance measurement
  • workload simulation

Details

TdBench is a tool designed to simulate realistic database workloads for applications and platforms.

This tool can be used with any DBMS supporting JDBC to:

  • Measure performance before vs after a change to add indexes, partitioning, compression, etc
  • Measure the impact to your DBMS of changes to settings, a patch, or a new software release
  • Simulate a workload for a new application or a proof of concept
  • Compare the performance of one platform to another
  • Compare performance of different data base vendor’s products

Getting Software and Help for TdBench:

  • You can download the latest package of the TdBench jar file and setup information with scripts for Teradata and non-Teradata DBMSs from this page and unzip it in a directory on a server of PC with connectivity to your DBMS
  • Terdata's JDBC driver is included.  Search the web for other vendor's JDBC drivers and save them on your server or PC
  • Additional DBMS setup scripts and information may be found at https://github.com/Teradata/tdbench.  
  • You can submit issues, questions or contribute DBMS setup information at https://github.com/Teradata/tdbench/discussions.  
  • Manuals, white papers and videos are reference at the bottom of this page. 

What does TdBench do?

TdBench with 4 queues and Test Tracking

TdBench simulates realistic production systems by allowing definition of the different types of work and adjusting the number of concurrent executions for each type of work;

  • It captures the results each query execution in its internal database.
  • It facilitates analysis host DBMS resource consumption by maintaining test metadata on the host DBMS to join with its query logs.

Tests are defined with:

  • queues of SQL queries and scripts or OS commands
  • variable number of execution threads (workers) per queue
  • commands to pace queries by time or percentage
  • parameterized queries to simulate different users
  • optional query prepare reducing DBMS parsing
  • scheduled start of processes or individual queries
  • Fixed work or fixed period execution models
  • Scripting language to automate multiple tests

Tests can be defined as simply as 4 statements. Analysis capabilities have been used to track individual query performance over hundreds of runs during projects with constraints like:
WHERE RunID in (79, 81, 105)

Example:  Basic test of all queries in 1 worker session:

define serial Test of queries executed serially
queue thequeries scripts/queries/*.sql
worker thequeries mydbms
run

Example:  Fixed period test of 10 minutes with 2 queues and a total of 5 worker sessions:

define workload5 Test of 1 heavy and 4 reporting worker sessions
queue hvy scripts/queries/hvy*.sql
worker hvy mydbms 1
queue rpt scripts/queries/rpt*.sql;
worker rpt mydbms 4
run 10m

There are nearly 60 commands for defining and scripting multiple tests.  You could use:

  • the PACE command with an interval reference command to control arrival of queries on a queue, or
  • PACE with a percentage  to limit the percentage of total queries executed from one queue, or
  • AT command to schedule events, or 
  • QUERY LIST to replay query starting as the executed in production 
  • There are built-in variables, user variables, IF and GOTO statements.

There are 69 built-in help files and a TdBench 8.01 User Guide to help you get started.

TdBench Documentation:

White Papers:

Videos:

tdbench-8.01.04
Release version

Specifications

  • Version
  • Released
  • TTU
  • OS
  • Teradata

TdBench 8.01 For Any DBMS

  • benchmark
  • poc
  • performance measurement
  • workload simulation