MINIFICPP-2696 Add option for optimizationForSmallDB in DatabaseConte… #2081
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I’ve went ahead and this some testing so we can set a sensible default value for this new configurable value. Based on my testing it seems the processing overhead is negligible, unfortunately the memory gains are also not what one expect (flow specific)
I’ve created a bunch of flows and tried it various cache sizes.
I’ve also noticed that compaction time and periodic https://man7.org/linux/man-pages/man3/malloc_trim.3.html makes memory footprint even smaller (much more noticably in some cases)
Methodology
Processing time was measured via log messages, memory footprint was measured via prometheus AgentStatus metrics
Baseline was setting the new variable to an empty string (which basically mimics the current main behaviour)
I couldn’t measure performance losses but only tried with a small set of relatively simple flows, since this PR now changes the default behavior its important that we emphasise this change and the method to disable this in the release logs.