[ 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