VoltDB - HewlettPackard/HPEVM GitHub Wiki

VoltDB Version 4.9.10: https://github.com/VoltDB/voltdb/releases/tag/voltdb-4.9.10

To do under bare metal machine

  • Download the VoltDB and place to your target folder

  • Install the necessary package:

    • Ubuntu: apt-get install build-essential openjdk-7-jdk Dialog screen python vim
    • CentOS: yum groupinstall 'Development Tools'; yum install -y java-1.7.0-openjdk-devel.x86_64 java-1.7.0-openjdk.x86_64. Then install ant 1.9.x following link
  • Build the Voltdb code in your target folder: ant -Djmemcheck=NO_MEMCHECK

  • Run the TPC-C benchmark in the following path: $VoltDB/tests/test_apps/tpcc/

  • Run Server: ./run.sh server &

  • Run Client: ./run.sh client &

To do experiments under the docker

Docker

  • Using ubuntu 16.04: docker pull ubuntu:16:04
  • Initial docker image: docker run -it --memory="16G" --memory-swap="16G" -v /home/tdc/git:/mnt ubuntu:16.04
  • Install necessary package: apt-get install build-essential openjdk-7-jdk Dialog screen python vim
  • Build the Voltdb code: ant -Djmemcheck=NO_MEMCHECK
  • Run Voltdb TPC-C in the same docker image. Run Server: ./run.sh server Run Client: ./run.sh client

Tuning the DB size

  • Modify $VoltDB/tests/test_apps/tpcc/run.sh
  • duration - Run time (sec)
  • warehouses - Based on the official document, one warehouse costs about 86 MB. The implementation in here may be different.
  • scalefactor - The number of rows in warehouses table

Reference:

To mount the folder in the docker container, please use the following command.

docker run -it -v /home/tdc:/mnt ff2b55a78ebe
docker run -it -v [system folder:docker mount path] [Docker image ID]

To limit the docker memory, please use the following command.

docker update --memory="16g" --memory-swap="32g" 4d8cca49af52
docker update [Physical memory][Physical memory + swap][Docker container ID]

TODO:

Modify the Java code for dumping the performance results during the testing.
https://github.com/VoltDB/voltdb/blob/master/tests/test_apps/tpcc/client/com/MyTPCC.java

Contact: Clay - [email protected] Andy - [email protected]