Note: These tests were run as Test 2 (files between 0B - 4KB), but an error in the JMeter configuration file ran using parameters more like the Test 3 instead (files between 0B - 100KB).

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

    7. 100GB disk, about 70GB free at beginning of test
  4. Initial State of the Repository
    1. empty
  5. Number of Client Threads
    1. 1

Test

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

Results

LevelDB

  1. Summary: 584,923 in 20,746s = 28.2/s, Avg: 29, Min: 8, Max: 4202, Err: 1 (0.00%)
  2. Status: Test ended when Fedora encountered the error "ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff7f000101:ecc1:5737143c:238f73 in state  RUN"
  3. Logs:
    1. jmeter log: test2-leveldb.log
    2. jmeter data: test2-leveldb.csv.gz
    3. jmeter perf: test2-leveldb-perf.log
    4. fedora log: test2-leveldb-fedora.log.gz

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: 1,019,512 in 53,750s = 19.0/s, Avg: 46, Min: 8, Max: 4618, Err: 1 (0.00%)
  3. Status: Test ended when Fedora ran out of disk space (approx. 70GB)
  4. Logs:
    1. jmeter log: test2-postgres.log
    2. jmeter data: test2-postgres.csv.gz
    3. jmeter perf: test2-postgres-perf.log
    4. fedora log: test2-postgres-fedora.log.gz

PostgreSQL with Modeshape 5 branch

  1. 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 same VM as Fedora
      1. Note: PostgreSQL upgraded from 9.3 to 9.5 to fix an error only seen with the modeshape5 branch
  2. Summary: 979,596 in 35,640s = 27.5/s, Avg: 30, Min: 1, Max: 3,403, Err: 1 (0.00%)
  3. Status: Test ended when Fedora ran out of disk space (approx. 68GB)
  4. Logs:
    1. test3-postgres-mode5.log

    2. test3-postgres-mode5.csv.gz

    3. test3-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: 975,996 in 35,131s = 27.8/s, Avg: 29, Min: 1, Max: 4,167, Err: 1 (0.00%)
  4. Status: Test ended when Fedora ran out of disk space (approx. 68GB)