On 9/22/2015 11:54 AM, vsilgalis wrote:
> I've actually read that article a few times.
>
> Yeah I know we aren't perfect in opening searchers. Yes we are committing
> from the client, this is something that is changing in our next code
> release, AND we are auto soft committing every second.  
>
> <filterCache class="solr.FastLRUCache" size="32768" initialSize="32768"
> autowarmCount="256"/>
> <queryResultCache class="solr.LRUCache" size="32768" initialSize="32768"
> autowarmCount="256"/>
> <documentCache class="solr.LRUCache" size="32768" initialSize="32768"
> autowarmCount="256"/>

Those are huge caches.  Especially the filterCache, because each filter
entry can be megabytes in size, depending on how many documents are in
the core.  If your index ever reaches the point where the filterCache
can grow to thousands of entries, your heap memory usage may grow out of
control.

The documentCache cannot autowarm, so that autowarmCount setting is
irrelevant.  The other two are important, and 256 is a pretty large
number for that setting.  It is unlikely that your autowarming completes
in less than one second.

I've repeated some of what Erick already told you, but I would like to
add the following.  On your autoSoftCommit interval of one second, the
article that Erick linked has this to say:

-------
Set your soft commit interval to as long as you can stand. Don't listen
to your product manager who says "we need no more than 1 second
latency". Really. Push back hard and see if the /user/ is best served or
will even notice. Soft commits and NRT are pretty amazing, but they’re
not free.
-------

This autoSoftCommit interval, especially with large indexes, can cause a
performance death spiral.  In SolrCloud, that death spiral tends to
cause constant replica recovery.  A previous message you sent to the
list indicated that your shards are each 10GB in size, which counts as a
large index.  Many people have indexes that are larger, but that's still
pretty big.

Thanks,
Shawn

Reply via email to