blob: d3a37e837b3a1e9a5bed84d6f1eb1c555da26148 [file] [log] [blame]
This module contains performance tests for microkernel instances.
1. Usage
The tests can be launched locally by calling directly the remote profile from the pom file using the following commands:
mvn clean test -Premote -Poakmk - for launching the tests against the oak microkernel or
mvn clean test -Premote -Pmongomk - for launching the tests against the mongodb microkernel.
More than that the tests can be launched remotely, for example on an mongodb cluster.In this case the pom file uploads
the tests to the remote machine, runs them and collects the results.Use the following commands to remotely run the tests:
mvn clean process-test-classes -Plocal -Pmongomk(or -Poakmk the microkernel used in tests) -Dremotehost=<remotehost> -Dpass=<ssh-password for the remote machine>
2. The test environment (mongodb cluster)
For measuring the performance of the sharedcloud microkernel, I created a mongodb cluster in amazon cloud with the following components:
- 2 shards ( in the same time, replica sets) - each of it with 2 nodes installed on different platforms
- 3 configuration servers all of them installed on one platform
- 1 mongos instance
The sharding is enabled and I'm using the following sharding key : {"path" :1, "revId":1}.I changed also the chunk size from 64 to 8 (MB).
3.Tests
All the tests bellow were launched remotely on amazon cloud for both types of microkernel (oak and sharedcloud).The tests are all executed on the platform where the mongos instance is installed.
MkAddNodesDifferentStructuresTest.testWriteNodesSameLevel
Creates 100000 nodes, all having the same parent node.All the nodes are added in a single microkernel commit.
oakmk 6.1 mongomk 11.4
MkAddNodesDifferentStructuresTest.testWriteNodes10Children
Creates 100000 nodes, in a pyramid tree structure.All of the nodes have 10 children.All the nodes are added in a single microkernel commit.
oakmk 3.6 mongomk 12.3
MkAddNodesDifferentStructuresTest.testWriteNodes100Children
Creates 100000 nodes, in a pyramid tree structure.All of the nodes have 100 children.All the nodes are added in a single microkernel commit.
oakmk 2.8 mongomk 11.1
MkAddNodesDifferentStructuresTest.testWriteNodes1000Children
Creates 100000 nodes, in a pyramid tree structure.All of the nodes have 1000 children.All the nodes are added in a single microkernel commit.
oakmk 2.7 mongomk 11.9
MkAddNodesDifferentStructuresTest.testWriteNodes1Child
Creates 100 nodes, each node has only one child, so each of it is on a different tree level.All the nodes are added in a single microkernel commit.
oakmk 0.008 mongomk 0.5
MkAddNodesMultipleCommitsTest.testWriteNodesAllNodes1Commit
Create 10000 nodes, in a pyramid tree structure.All of the nodes have 100 children.Only one microkernel commit is performed for adding the nodes.
oakmk 0.14 mongomk 1.4
MkAddNodesMultipleCommitsTest.testWriteNodes50NodesPerCommit
Create 10000 nodes, in a pyramid tree structure.All of the nodes have 100 children.The nodes are added in chunks of 50 nodes per commit.
oakmk 0.41 mongomk Failure
MkAddNodesMultipleCommitsTest.testWriteNodes1000NodesPerCommit
Create 10000 nodes, in a pyramid tree structure.All of the nodes have 100 children.The nodes are added in chunks of 1000 nodes per commit.
oakmk 0.2 mongomk 3.5
MkAddNodesMultipleCommitsTest.testWriteNodes1NodePerCommit
Create 10000 nodes, in a pyramid tree structure.All of the nodes have 100 children.Each node is individually added.
oakmk 8.3 mongomk Failure
MKAddNodesRelativePathTest.testWriteNodesSameLevel
Create 1000 nodes, all on the same level.Each node is individually added (in a separate commit).Each node is added using the relative paths in the microkernel commit method.
oakmk 3 mongomk 150
MKAddNodesRelativePathTest.testWriteNodes10Children
Create 1000 nodes, each of them having exactly 10 children.Each node is individually added (in a separate commit).Each node is added using the relative paths in the microkernel commit method.
oakmk 4.2 mongomk Failure
MKAddNodesRelativePathTest.testWriteNodes100Children
Create 1000 nodes, each of them having exactly 100 children.Each node is individually added (in a separate commit).Each node is added using the relative paths in the microkernel commit method.
oakmk 4.1 mongomk Failure