-
Notifications
You must be signed in to change notification settings - Fork 623
OLTPBenchmark
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
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
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.