Skip to content
This repository has been archived by the owner on Sep 27, 2019. It is now read-only.

OLTPBenchmark

pervazea edited this page Apr 10, 2018 · 16 revisions

Installation

Follow these steps to install oltpbenchmark suite.

## Clone our customized oltpbench Git Repository
git clone https://github.com/oltpbenchmark/oltpbench.git

## Compile OLTP-Benchmark using the provided Ant script
ant

Running the Benchmark

Important: Peloton uses the Postgres driver. That means you can use any of the existing Postgres sample configuration files. But you must change the dbtype to "peloton" in the configuration file.

Before running any benchmark clients, ensure that you have started the Peloton server. You can start the server, as described here.

Before running the benchmark, ensure that your configuration file is correct. The connection configuration in the sample files needs to be modified. The workload parameters should be correct as is.

  • Set the correct database type:

    <dbtype>peloton</dbtype>

  • Make sure the driver is is correctly set to postgres and that you specify default_database.

    <driver>org.postgresql.Driver</driver> <DBUrl>jdbc:postgresql://localhost:15721/default_database</DBUrl>

  • Set a username and password that works, e.g.

    <username>postgres</username> <password>postgres</password>

  • Set isolation:

    <isolation>TRANSACTION_SERIALIZABLE</isolation>

The following command first loads the ycsb database (create=true load=true), and then runs the workload described in the config/peloton_ycsb_config.xml file. The results (latency, throughput) are summarized into 5 second buckets (-s 5), and the output is written into two files: outputfile.res (aggregated) and outputfile.raw (detailed).

## Run the benchmark on Peloton
./oltpbenchmark -b ycsb 
-c config/peloton_ycsb_config.xml 
--create=true --load=true --execute=true 
-s 5 
-o outputfile

Debugging problems

If the benchmark is not running correctly, turning on additional logging may be helpful. In the oltpbench directory, modify the log4j.properties file.

  • If desired, change the rootLogger to DEBUG level:

    log4j.rootLogger=DEBUG, A1

  • Also the API logger:

    log4j.logger.com.oltpbenchmark=DEBUG

  • Also logging for the specific benchmark, e.g. tpcc:

    log4j.logger.com.oltpbenchmark.benchmarks.tpcc=DEBUG

Recompilation is not required, these are runtime settings.

Note, after the problem is solved and you want to generate actual benchmark numbers:

  • Run the benchmark against a Peloton release build
  • Revert back all the benchmark logging settings to their original values. Excessive log output will affect performance.
Clone this wiki locally