Skip to content
This repository was archived by the owner on Aug 23, 2021. It is now read-only.

oltpbenchmark/oltpbench

Folders and files

NameName
Last commit message
Last commit date
Jan 21, 2021
Nov 25, 2019
May 15, 2019
Aug 19, 2011
Apr 8, 2015
Dec 13, 2013
Aug 4, 2021
May 15, 2019
Feb 17, 2015
May 15, 2019
Aug 20, 2011
Nov 25, 2019
May 4, 2013
Jan 21, 2021
Feb 17, 2015
Aug 23, 2021
Aug 19, 2011
May 15, 2019
May 15, 2019
Jan 23, 2020
Jan 21, 2020
Dec 9, 2014
Aug 19, 2011
Jul 18, 2013
May 17, 2019
Nov 21, 2019

Repository files navigation

OLTPBench

Build Status

UPDATE 2021-08-22: Project moved to BenchBase.

The OLTP-Bench project is deprecated. All development and maintenance has been moved to BenchBase. We have abandoned this repository and will no longer be updating it. It is unknown whether it will work on future versions of Java. We will not accept pull requests for this repository. We will also not respond to questions or problems that you may have with running with this software. The BenchBase project is backwards compatiable with OLTP-Bench, so you will want to change your dependencies to use the new repo.


Benchmarking is incredibly useful, yet endlessly painful. This benchmark suite is the result of a group of Phd/post-docs/professors getting together and combining their workloads/frameworks/experiences/efforts. We hope this will save other people's time, and will provide an extensible platform, that can be grown in an open-source fashion.

OLTPBenchmark is a multi-threaded load generator. The framework is designed to be able to produce variable rate, variable mixture load against any JDBC-enabled relational database. The framework also provides data collection features, e.g., per-transaction-type latency and throughput logs.

Together with the framework we provide the following OLTP/Web benchmarks:

This framework is design to allow easy extension, we provide stub code that a contributor can use to include a new benchmark, leveraging all the system features (logging, controlled speed, controlled mixture, etc.)

Dependencies

  • Java (+1.7)
  • Apache Ant

Quick Start

See the on-line documentation on how to use OLTP-Bench.

Docker

A Dockerfile has been provided for running OLTPBench interactively without having to build the dependencies. To build the Docker image, run:

docker build -t oltpbench .

This command builds the OLTPBench image with the tag oltpbench.

The Docker container will read the configuration file from STDIN. All other parameters must still be passed in through the container. For example, to use the example from the docs,

cat ./config/sample_tpcc_config.xml | docker run -i oltpbench -b tpcc --create=true --load=true --execute=true -s 5 -o outputfile

This will run the image created above using the tag we provided, passing in the configuration file sample_tpcc_config.xml found in the config directory.

Publications

If you are using this framework for your papers or for your work, please cite the paper:

OLTP-Bench: An extensible testbed for benchmarking relational databases D. E. Difallah, A. Pavlo, C. Curino, and P. Cudre-Mauroux. In VLDB 2014.

Also, let us know so we can add you to our list of publications.