jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <jukka.zitt...@gmail.com>
Subject Re: benchmark cache size
Date Wed, 23 Oct 2013 12:57:47 GMT
Hi,

On Wed, Oct 23, 2013 at 6:37 AM, Alex Parvulescu
<alex.parvulescu@gmail.com> wrote:
> I was looking at the '--cache' option in the benchmark runner, and I
> noticed that the setting doesn't go all the way to the TarMk's FileStore,
> it looks like the default of 256MB is always used [0].
> Is this expected?

That should be fixed. Originally the cache size wasn't used for TarMK
at all since with memory mapping there's no need for caching data
inside the JVM heap. The cache was added along with the 32-bit mode
where it's needed, but I didn't remember to update the benchmark
accordingly.

> Also, what does this setting actually mean and what is the context where
> tweaking this is relevant?

The idea is to specify the amount of heap memory used for the most
important caches, i.e. the bundle cache in Jackrabbit 2.x, the
KernelNodeStore cache, etc. Basically it should be possible to
successfully execute a benchmark with an -Xmx setting that's just
about 100MB larger than the cache setting. That should put the
different implementations on level playing ground, except of course
the 64-bit TarMK that relies on the off-heap buffer cache managed by
the operating system.

I wouldn't worry too much about extending the cache setting to cover
all possible caches used by an implementation, just the biggest and
most important ones. For example the record cache in the segment store
is limited to just 1k entries so its memory overhead is insignificant
at just a few hundred kBs.

BR,

Jukka Zitting

Mime
View raw message