Open hicolour opened 2 years ago
Yep detailed documentation on cache configurations is missing. We should really document each cache config with performance benchmarks when turned off vs on.
Everything is configurable, so you should be able to configure caching from being very high to almost no caching.
For now, similar to how you've disabled caching with segmentConfigOverride
in your code, you can try the same for sortedIndex
, hashIndex
, binarySearchIndex
, bloomFilter
and valuesConfig
(find them in DefaultConfigs)
Set the following for all the above blocks.
case action: IOAction.DecompressAction => IOStrategy.SynchronisedIO(cacheOnAccess = false)
Just a note, in your settings above you've disabled caching opened files with this setting.
.copyWithFileOpenIOStrategy(IOStrategy.AsyncIO(cacheOnAccess = false))
So every thread that tries to access a file would open a new java.nio.FileChannel
. Unless you have an extreme use-case I would set this to cacheOnAccess = true
so there are less concurrently opened FileChannel
s for a file.
I'm trying to reduce memory pressure of the caching to the minimum.
I manage to reduce it a lot using the configuration below, but I still see leftovers that have symptoms of the leak.
At the first glance it likes that it comes from the
LevelZeroMapCache
but I'm not sure - and I cannot find eany reference in the documenetaion.