[
https://issues.apache.org/jira/browse/OAK-1042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13778556#comment-13778556
]
Thomas Mueller commented on OAK-1042:
-------------------------------------
That's good to know. Currently, according to my profiling result, the
bottleneck still seems to be in the caching area (performance could be improved
by better / faster caching). The OffsetCache is now only about 3% however:
{code}
java -Dwarmup=1 -Druntime=20 -jar target/oak-run-*.jar benchmark
SimpleSearchTest Oak-Tar
summary:
31%: org.apache.jackrabbit.oak.plugins.segment.file.FileStore
10%: org.apache.jackrabbit.oak.plugins.segment.SegmentCache
9%: org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder
7%: org.apache.jackrabbit.oak.util.TreeUtil
3%: org.apache.jackrabbit.oak.core.MutableTree
3%: org.apache.jackrabbit.oak.plugins.segment.OffsetCache
3%: org.apache.jackrabbit.oak.plugins.segment.Segment
3%: org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState
2%: org.apache.jackrabbit.oak.plugins.segment.MapLeaf
2%: org.apache.jackrabbit.oak.benchmark.SimpleSearchTest
{code}
> Segment node store caching
> --------------------------
>
> Key: OAK-1042
> URL: https://issues.apache.org/jira/browse/OAK-1042
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Reporter: Thomas Mueller
> Assignee: Thomas Mueller
>
> Segment node stores caching seems to use quite a lot of CPU. According to my
> test, the oak-run SimpleSearchTest uses about 50% for Segment node store
> caching, when using the built-in profiler:
> {code}
> java -mx1g -Dwarmup=3 -Druntime=15 -jar target/oak-run-*.jar benchmark
> SimpleSearchTest Oak-Tar
> packages:
> 48%: com.google.common.cache <== cache
> 16%: org.apache.jackrabbit.oak.plugins.segment
> 8%: org.apache.jackrabbit.oak.plugins.memory
> 4%: org.apache.jackrabbit.oak.util
> 3%: org.apache.jackrabbit.oak.core
> 2%: org.apache.jackrabbit.oak.benchmark
> 2%: com.google.common.base <== cache
> .
> Oak-Tar 308 310 313 324 344 48
> {code}
> The problem seems to be the cache in the FileStore. As far as I see, the
> cache limit is 1000 <UUID, Segment> entries (size based, not weight based).
> I wonder if there is a simple way to reduce CPU usage. I will try with the
> LIRS cache.
> I also wonder if this cache should really be size limited, and not weight
> limited (segments can have different sizes as far as I know)?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira