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

TdBench For Any DBMS

  • benchmark
  • poc
  • performance measurement
  • workload simulation

TdBench 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 For Any DBMS

  • benchmark
  • poc
  • performance measurement
  • workload simulation