Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Jeronimo Lopez
Latest commit 44a8090 May 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper
src/main LOAD DATA and COPY usage samples May 5, 2018
README.md Update README: remove duplicated instructions Apr 25, 2018
build.gradle First commit Apr 8, 2018
downloadDataset.sh First commit Apr 8, 2018
gradlew First commit Apr 8, 2018
gradlew.bat First commit Apr 8, 2018
run.sh Add JDBC benchmark Apr 17, 2018
settings.gradle First commit Apr 8, 2018

README.md

Persistence post

http://www.jerolba.com/persistiendo-rapido-en-base-de-datos/

These instructions are written for *nix system.

Prerequisites

You must have Docker installed (for the databases).

How to run the benchmark yourself

  1. Download the dataset

    • chmod +x downloadDataset.sh
    • ./downloadDataset.sh
  2. Generate the JAR and copy it to the root folder of the repo

    • gradle build
    • cp ./build/libs/persistence-post.jar .
  3. Depending on the database you want to try:

    3.1. MySQL

    • Install the database client (in case you don't have it, just for checking the connection)
      • sudo apt-get install mysql-client
    • Run a MySQL from a Docker
      • docker run --name jerolba-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=testdb -e MYSQL_USER=test -e MYSQL_PASSWORD=test --publish 127.0.0.1:3306:3306 -d mysql:5.6.35
      • Check that it's up and running (password 'my-secret-pw'): mysql -u root -p

    3.2. PostgreSQL

    • Install the database client (in case you don't have it, just for checking the connection)
      • sudo apt-get install postgresql-client
    • Run a PostgreSQL from a Docker
      • docker run --name jerolba-postgres -e POSTGRES_USER=test -e POSTGRES_PASSWORD=test -e POSTGRES_DB=testdb --publish 127.0.0.1:5432:5432 -d postgres:9.6.8
      • Check that it's up and running (password 'mysecretpassword'): psql -h 127.0.0.1 -p 5432 -U postgres
  4. Run the benchmark

    • chmod +x run.sh
    • For MySQL: ./run.sh -m 127.0.0.1
    • For PostgreSQL: ./run.sh -p 127.0.0.1
  5. Check that the benchmark is running

You should see some output here: tail -f log/JdbcSimpleInsert_<db_type>_1000_1.log, something similar to:

➜  persistence-post git:(master) ✗ tail -f log/JdbcSimpleInsert_postgres_1000_1.log
13:39:26.669 [main] INFO  c.j.b.shared.ConnectionProvider - Connecting with {urlConnection=jdbc:postgresql://127.0.0.1:5432/testdb, password=mysecretpassword, driver=org.postgresql.Driver, user=postgres}
13:39:54.086 [main] INFO  c.j.benchmark.shared.StreamCounter - Processed 10000 items in 27298 ms
13:40:21.100 [main] INFO  c.j.benchmark.shared.StreamCounter - Processed 20000 items in 54311 ms
You can’t perform that action at this time.