Hi everyone,

I recently upgraded from Solr 8.11.1 to Solr 9.6.0 and noticed an increase
in memory usage in my test environment.

Test environment -

   - A simple setup with 2 million documents in the index (size ~3 GB)
   - A test run that executes 100 unique queries every other minute for an
   hour
   - Metrics captured: query response times, CPU, and memory usage,
   benchmarked against a baseline

After upgrading to Solr 9.6.0 (with no changes to schema or solrconfig
compared to Solr 8.11.1), I observed an increase in memory usage from 4 GB
to 6 GB.

Memory usage snapshots for Solr 8.11.1 (left) vs Solr 9.6.0
[image: image.png]
Snapshots from a memory profiler for Solr 8.11.1 (left) vs Solr 9.6.0
[image: image.png]

   - The increase appears to be linked to the DocValuesIteratorCache introduced
   in Solr 9.4.0 as part of SOLR-16989
   <https://issues.apache.org/jira/browse/SOLR-16989> (Optimize and
   consolidate reuse of DocValues iterators for value retrieval).
   - Since my queries are already fast (~100ms), I haven't seen a
   considerable benefit from this enhancement.
   - I noticed some improvement in query response time by increasing the
   page size by a factor of 10, but since users are only interested in the top
   50 results, this isn't a valid use-case.
   - If I retrieve only the id field, the memory usage is comparable to
   what I observed with Solr 8.11.1.

Has anyone else experienced similar behavior after upgrading? Is there any
way to disable the DocValuesIteratorCache introduced in Solr 9.4.0? Any
suggestions or insights would be appreciated!

Thank you
Soham

Reply via email to