Thomas Mueller created OAK-1042: ----------------------------------- Summary: 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