Setup

  1. Version of Fedora
    1. 4.5.1-SNAPSHOT | Build #fd6f9da9 (2016-02-19) (https://github.com/fcrepo4/fcrepo4/pull/986 before squashing)
  2. Fedora Configuration
    1. JAVA_OPTS="-Dfcrepo.home=/var/lib/tomcat7/fcrepo4-data -Djava.awt.headless=true -Xmx8g"

    2. See below

  3. System details
    1. Fedora: VMWare VM configured with 4x 2.8GHz CPU, 16GB RAM
    2. JMeter: separate identical VM
    3. Network: 1000Mb/s ethernet

    4. OS: Ubuntu 14.04.3 LTS

    5. JVM: Oracle JDK 1.8.0_66-b17

    6. Servlet container: Tomcat 7.0.52

  4. Initial State of the Repository
    1. empty
  5. Number of Client Threads
    1. 1

Test

$HOME/jmeter/bin/jmeter -Dfedora_4_server=lib-fedora1 -Dfedora_4_context=fcrepo/rest -n -t $HOME/jmeter/fedora.jmx

Results

LevelDB

  1. Summary: 737,824 in 19,341s = 38.1/s, Avg: 21, Min: 8, Max: 5,413, Err: 1 (0.00%)
  2. Logs:
    1. jmeter: leveldb-jmeter.log
    2. containers: leveldb-containers.csv.gz
    3. perf: leveldb-perf.log

PostgreSQL

  1. Additional config: 
    1. JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.modeshape.configuration=classpath:/config/jdbc-postgresql/repository.json"
    2. PostgreSQL 9.3 running on same VM as Fedora
  2. Summary: 3,751,531 in 190,599s = 19.7/s, Avg: 46, Min: 7, Max: 19,416, Err: 0 (0.00%)
  3. Logs:
    1. jmeter: postgres-jmeter.log
    2. containers: postgres-containers.csv.gz
    3. perf: postgres-perf.log
  4. Note: the test was interrupted by a network interruption after 3.7 million containers were created

PostgreSQL (Modeshape 5)

  1. Version of Fedora
    1. 4.5.2-SNAPSHOT | Build #c94f9a93 (2016-06-06) (modeshape5 branch)
  2. Additional config: 
    1. JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.modeshape.configuration=classpath:/config/jdbc-postgresql/repository.json -XX:+UseG1GC -XX:+DisableExplicitGC"
    2. PostgreSQL 9.3 running on same VM as Fedora
  3. Summary: 17,017,228 in 564,606s = 30.1/s, Avg: 28, Min: 1, Max: 5,050, Err: 1 (0.00%)
  4. Test status: Test errored after receiving the error: "ERROR 23:31:38.442 (RepositoryExceptionMapper) Caught a repository exception: org.modeshape.persistence.relational.RelationalProviderException: java.sql.BatchUpdateException: Batch entry 1 INSERT INTO MODESHAPE_REPOSITORY (ID, CONTENT) VALUES ('936198c7505d64b3fa6b43-e4ad-432c-ae0a-7de3ae9046a6', ?) was aborted.  Call getNextException to see the cause."
  5. Logs:
    1. jmeter log: test4-postgres-mode5.log
    2. jmeter data: test4-postgres-mode5.csv.1.gztest4-postgres-mode5.csv.2.gz
    3. jmeter perf: test4-postgres-mode5-perf.log

PostgreSQL (Modeshape 5.1)

  1. Version of Fedora
    1. 4.5.2-SNAPSHOT | Build #4f31e2f9 (2016-06-28) (modeshape5 branch with update to 5.1 from awoods:fcrepo-2062)
  2. Additional config:
    1. JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.modeshape.configuration=classpath:/config/jdbc-postgresql/repository.json -XX:+UseG1GC -XX:+DisableExplicitGC"
    2. PostgreSQL 9.5 running on the same VM as Fedora
  3. Summary: 4,139,423 in 113,995s = 36.3/s, Avg: 23, Min: 1, Max: 2,351, Err: 0 (0.00%)
  4. Test status: Test manually stopped
  5. Logs:
    1. jmeter log: test4-postgres-mode51.log
    2. jmeter data: test4-postgres-mode51.csv.gz
    3. jmeter perf: test4-postgres-mode51-pref.log