[
https://issues.apache.org/jira/browse/OAK-1042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13779557#comment-13779557
]
Jukka Zitting commented on OAK-1042:
------------------------------------
I like the LIRS cache, and would love to see it replace the simpler LRU one now
used by default in the SegmentCache. There's however one critical difference
that I'd like to see fixed:
Currently a cache miss in the {{CacheLIRS.get(key, loader)}} call will end up
blocking concurrent accesses within the same cache segment. The loader call
will typically be quite expensive (disk access or network roundtrip), and thus
it definitely shouldn't block access to other entries that already exist in the
cache. See the {{currentlyLoading}} mechanism in {{SegmentCache}} for one way
to avoid that bottleneck.
> 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