Platform Profile:
Repository Profile:
- Fcrepo4 Git commit: https://github.com/futures/fcrepo4/commit/2afdcf07f701fb4026acbe93fe256fc43a5883ee
Setup Profile:
Benchtool
The benchmarking tool is available on github: https://github.com/futuresfcrepo4-labs/benchtool
Code Block |
---|
git clone git@github.com:futuresfcrepo4-labs/benchtool.git cd benchtool mvn install |
...
Create Property Test Matrix
Workflow profile: Test - Workflow Profile: Benchtool Property Create
Benchtool command (one thread):
java -jar target/bench-tool-0.0.1-SNAPSHOT-jar-with-dependencies.jar -f http://saez:8080 -s 1K -n 10000 -t 1 -a ingest -pp
Threads | ObjectsContainers | BinaryDatastream | Create Property Time (ms) |
---|---|---|---|
1 | 10000 | 1KB | 2,031,308 ms |
2 | 10000 | 1KB | 1,939,065 ms |
4 | 10000 | 1KB | 1,880,343 ms |
8 | 10000 | 1KB | 1,911,114 ms |
Read Property Test Matrix
Workflow profile: Test - Workflow Profile: Benchtool Property Read
Benchtool command (one thread):
java -jar target/bench-tool-0.0.1-SNAPSHOT-jar-with-dependencies.jar -f http://saez:8080 -s 1K -n 10000 -t 1 -a read -pp
Threads | ObjectsContainers | BinaryDatastream | Read Property Time (ms) |
---|---|---|---|
1 | 10000 | 1KB | 32,299 ms |
2 | 10000 | 1KB | 17,541 ms |
4 | 10000 | 1KB | 11,097 ms |
8 | 10000 | 1KB | 10,271 ms |
Update Property Test Matrix
Workflow profile: Test - Workflow Profile: Benchtool Property Update
Benchtool command (one thread):
java -jar target/bench-tool-0.0.1-SNAPSHOT-jar-with-dependencies.jar -f http://saez:8080 -s 1K -n 10000 -t 1 -a update -pp
Threads | ObjectsContainers | BinaryDatastream | Update Property Time (ms) |
---|---|---|---|
1 | 10000 | 1KB | 2,073,580 ms |
2 | 10000 | 1KB | 1,907,739 ms |
4 | 10000 | 1KB | 2,051,586 ms |
8 | 10000 | 1KB | 1,887,010 ms |
Delete Property Test Matrix
Workflow profile: Test - Workflow Profile: Benchtool Property Delete
Benchtool command (one thread):
java -jar target/bench-tool-0.0.1-SNAPSHOT-jar-with-dependencies.jar -f http://saez:8080
-s 1K -n 10000 -t 1 -a
delete -pp
Threads | ObjectsContainers | BinaryDatastream | Delete Property Time (ms) |
---|---|---|---|
1 | 10000 | 1KB | 1,998,672 ms |
2 | 10000 | 1KB | 1,850,666 ms |
4 | 10000 | 1KB | 2,064,493 ms |
8 | 10000 | 1KB | 1,890,930 ms |
CRUD Concurrent Integration Test
Running CRUD integration tests (FedoraCrudConcurrentIT.java in fcrepo-http-api) for simple objects and small content files CREATE, UPDATE, DELETE and RETRIEVE with 2, 4, 8, 16, 32 concurrent threads.
Average CRUD response time (ms) for simple objects
Test result started with threads [2, 4, 8, 16, 32]:
Threads | Create | Update | Retrieve | Delete |
---|---|---|---|---|
2 | 2421 | 483 | 58 | 33 |
4 | 34 | 32 | 20 | 21 |
8 | 44 | 31 | 17 | 17 |
16 | 27 | 31 | 15 | 18 |
32 | 28 | 33 | 12 | 130 |
Test result started with threads [32, 16, 8, 4, 2]:
Threads | Create | Update | Retrieve | Delete |
---|---|---|---|---|
32 | 136 | 83 | 17 | 18 |
16 | 38 | 27 | 12 | 15 |
8 | 18 | 23 | 14 | 14 |
4 | 18 | 23 | 11 | 13 |
2 | 22 | 177 | 10 | 143 |
Average CRUD response time (ms) for content files
Test result started with threads [2, 4, 8, 16, 32]:
Threads | Ingest | Update | Retrieve | Delete |
---|---|---|---|---|
2 | 248 | 74 | 12 | 29 |
4 | 82 | 53 | 12 | 24 |
8 | 57 | 52 | 8 | 21 |
16 | 61 | 39 | 8 | 29 |
32 | 71 | 699 | 35 | 194 |
Test result started with threads [32, 16, 8, 4, 2]:
Threads | Create | Update | Retrieve | Delete |
---|---|---|---|---|
32 | 81 | 56 | 8 | 23 |
16 | 68 | 56 | 8 | 17 |
8 | 55 | 30 | 5 | 21 |
4 | 48 | 34 | 6 | 16 |
2 | 110 | 838 | 5 | 297 |
...