Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-1042

Segment node store caching

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.10
    • None
    • None

    Description

      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:

      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
      

      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)?

      Attachments

        Activity

          People

            thomasm Thomas Mueller
            thomasm Thomas Mueller
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: