Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The tests were run on an EC2 m3.medium instance.  Tests were run with the pre-configured Infinispan configurations available in the fcrepo4/fcrepo-configs repository (e.g., file, leveldb-default, leveldb, and ram).  These configurations were passed in as system properties when Fedora (via the jetty-maven-plugin) was started.  Once Fedora was up, benchtool was used to ingest up to 30,000 objects and the resulting durations.log file was processed through gnuplot to generate a graph.  A Bash script was written to automate this process.  Ingest  In the tests, ingest times across the various Infinispan configurations did not slow down significantly as more objects were ingested. Configurations, graphs, and benchtool log output are available below.

Conclusion: Based on the tests documented below, the Infinispan backends do not seem to have a problem with a lack of hierarchy (at least within the tested ranges).  The hypothesis was that we'd see a significant slowdown around the ten thousand object mark, but the tests below seem to scale to the 30k object mark without significant slowdowns, though there is a slight uptick towards the end of the 30k 2MB object tests.  The tests below were run with benchtool's the default object size (1 KB) and, a second time, with 2 MB objects.  A test with 500k records was .  With the uptick at the end of the larger 30k object tests, more testing is probably warranted.

Tests with 500k, 100k, and 60k objects were attempted, but was were not able to be completed.  The result of the last attempt these attempts was a ticket to investigate an ExecutionError (seemingly related to transactions).

 

ConfigurationResults GraphLogging Output
leveldb-default (30k 1KB objects / 15 threads)

Running new test [config: config/infinispan/leveldb-default/infinispan.xml] [Jetty pid: 30298]
18:30:11 INFO Found Fedora 4 at http://localhost:8080
18:30:11 INFO Running 30000 INGEST action(s) against FCREPO4 with a binary size of 1.0 KB using 15 thread(s)
18:30:15 INFO The Fedora cluster has 0 node(s) before the benchmark
18:30:15 INFO preparing 30000 objects
18:32:30 INFO creating 30000 objects took 125639 ms
18:33:27 INFO scheduling 30000 actions
19:08:14 INFO purging 30000 objects and datastreams
19:10:38 INFO Completed 30000 INGEST action(s) executed in 31292451 ms
19:10:38 INFO The Fedora cluster has 0 node(s) after the benchmark
19:10:38 INFO Throughput was 0.01 MB/sec
19:10:38 INFO Throughput per thread was 0 MB/sec
19:10:38 INFO Condensed results:
19:10:38 INFO 30000 1024 15 INGEST 31292451 9.3622814E-4 no-tx
19:10:38 INFO All operations completed in 2426697 ms

leveldb (30k 1KB objects / 15 threads)

Running new test [config: config/infinispan/leveldb/infinispan.xml] [Jetty pid: 3870]
19:12:40 INFO Found Fedora 4 at http://localhost:8080
19:12:40 INFO Running 30000 INGEST action(s) against FCREPO4 with a binary size of 1.0 KB using 15 thread(s)
19:12:44 INFO The Fedora cluster has 0 node(s) before the benchmark
19:12:44 INFO preparing 30000 objects
19:15:01 INFO creating 30000 objects took 126888 ms
19:16:04 INFO scheduling 30000 actions
19:51:06 INFO purging 30000 objects and datastreams
19:53:28 INFO Completed 30000 INGEST action(s) executed in 31517411 ms
19:53:29 INFO The Fedora cluster has 0 node(s) after the benchmark
19:53:29 INFO Throughput was 0.01 MB/sec
19:53:29 INFO Throughput per thread was 0 MB/sec
19:53:29 INFO Condensed results:
19:53:29 INFO 30000 1024 15 INGEST 31517411 9.295457E-4 no-tx
19:53:29 INFO All operations completed in 2448012 ms

file (30k 1KB objects / 15 threads)

Running new test [config: config/infinispan/file/infinispan.xml] [Jetty pid: 7558]
20:02:31 INFO Found Fedora 4 at http://localhost:8080
20:02:31 INFO Running 30000 INGEST action(s) against FCREPO4 with a binary size of 1.0 KB using 15 thread(s)
20:02:34 INFO The Fedora cluster has 0 node(s) before the benchmark
20:02:34 INFO preparing 30000 objects
20:04:47 INFO creating 30000 objects took 124113 ms
20:08:28 INFO scheduling 30000 actions
20:45:14 INFO purging 30000 objects and datastreams
20:50:51 INFO Completed 30000 INGEST action(s) executed in 33069648 ms
20:50:52 INFO The Fedora cluster has 0 node(s) after the benchmark
20:50:52 INFO Throughput was 0.01 MB/sec
20:50:52 INFO Throughput per thread was 0 MB/sec
20:50:52 INFO Condensed results:
20:50:52 INFO 30000 1024 15 INGEST 33069648 8.859143E-4 no-tx
20:50:52 INFO All operations completed in 2900327 ms

ram (30k 1KB objects / 15 threads)

Running new test [config: config/infinispan/ram/infinispan.xml] [Jetty pid: 11324]
20:52:45 INFO Found Fedora 4 at http://localhost:8080
20:52:45 INFO Running 30000 INGEST action(s) against FCREPO4 with a binary size of 1.0 KB using 15 thread(s)
20:52:48 INFO The Fedora cluster has 0 node(s) before the benchmark
20:52:48 INFO preparing 30000 objects
20:55:00 INFO creating 30000 objects took 123502 ms
20:55:45 INFO scheduling 30000 actions
21:28:38 INFO purging 30000 objects and datastreams
21:30:23 INFO Completed 30000 INGEST action(s) executed in 29588918 ms
21:30:23 INFO The Fedora cluster has 0 node(s) after the benchmark
21:30:23 INFO Throughput was 0.01 MB/sec
21:30:23 INFO Throughput per thread was 0 MB/sec
21:30:23 INFO Condensed results:
21:30:23 INFO 30000 1024 15 INGEST 29588918 9.9013E-4 no-tx
21:30:23 INFO All operations completed in 2257950 ms

...