You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Tomek Rękawek (JIRA)" <ji...@apache.org> on 2016/12/05 12:21:58 UTC

[jira] [Comment Edited] (OAK-5222) Optimize the multiplexing node store

    [ https://issues.apache.org/jira/browse/OAK-5222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15722121#comment-15722121 ] 

Tomek Rękawek edited comment on OAK-5222 at 12/5/16 12:21 PM:
--------------------------------------------------------------

[~rombert], the low-hanging fruit is to switch {{Map<MountedNodeStore, NodeState>}} in the MultiplexingNodeState/Builder implementations to {{Map<NodeStore, NodeState>}}. This way we'll be dependent on the number of configured node stores, rather than number of mounts. We'll always have #mounts >= #node stores, so it should help.

On my machine, the throughput for Oak-Segment-Tar is 4772:

{noformat}
$ java -jar target/oak-run-1.6-SNAPSHOT.jar benchmark ReadDeepTreeTest Oak-Segment-Tar
# ReadDeepTreeTest                 C     min     10%     50%     90%     max       N
Oak-Segment-Tar                    1      10      11      12      15      26    4772
{noformat}


was (Author: tomek.rekawek):
[~rombert], the low-hanging fruit is to switch {{Map<MountedNodeStore, NodeState>}} in the MultiplexingNodeState/Builder implementations to {{Map<NodeStore, NodeState>}}. This way we'll be dependent on the number of configured node stores, rather than number of mounts. We'll always have #mounts >= #node stores, so it should help.

On my machine, the throughput for Oak-Segment-Tar is 4772:

{noformat}
$ java -jar target/oak-run-1.6-SNAPSHOT.jar benchmark ReadDeepTreeTest Oak-Segment-Tar
Oak-Segment-Tar                    1      10      11      12      15      26    4772
{noformat}

> Optimize the multiplexing node store
> ------------------------------------
>
>                 Key: OAK-5222
>                 URL: https://issues.apache.org/jira/browse/OAK-5222
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Tomek Rękawek
>            Assignee: Tomek Rękawek
>             Fix For: 1.6
>
>
> I added support for the multiplexing node store for the oak-run benchmark fixtures. It seems that the performance in ReadDeepTreeTest is linearly dependent on the mount counts:
> {noformat}
> Mounts	N
> 0	729
> 1	402
> 2	287
> 3	209
> 4	188
> 5	154
> 6	133
> 7	126
> 8	104
> 9	100
> 10	85
> 20	46
> {noformat}
> {{N}} - throughput in 60 seconds. Following command was used:
> {noformat}
> $ java -jar target/oak-run-1.6-SNAPSHOT.jar benchmark ReadDeepTreeTest Oak-Multiplexing --mounts=10
> {noformat}
> It should be possible to improve this, so we won't have a noticeable performance decrease for 1000 mounts.
> //cc: [~rombert]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)