On 9-Oct-07, at 7:53 PM, Stu Hood wrote:

Using the filter cache method on the things like media type and
location; this will occupy ~2.3MB of memory _per unique value_

Mike, how did you calculate that value? I'm trying to tune my caches, and any equations that could be used to determine some balanced settings would be extremely helpful. I'm in a memory limited environment, so I can't afford to throw a ton of cache at the problem.

8bits * 25m docs. Note that HashSet filters will be smaller (cardinality < 3000).

(I don't want to thread-jack, but I'm also wondering whether anyone has any notes on how to tune cache sizes for the filterCache, queryResultCache and documentCache).

I'll give the usual Solr answer: it depends <g>.  For me:

The filterCache is the most important. I want my faceting filters to be there at all times, as well as the common fq's I throw at Solr. I have this bumped up to 4096 or so.

The queryResultCache isn't too important. I'm mostly interested in keeping around a few recent queries since they tend to be reexecuted. There is generally not a whole lot of overlap, though, and I never page very far into the results (10 results over 100 slaves is more than I typically would ever need). Memory usage is quite low, though, so you might have success going nuts with this cache.

docCache? Make sure this is set to at least maxResults*<max concurrent queries>, since the query processing sometimes assumes fetching a document earlier in the request will let us retrieve it for free later in the request from the cache. Other than that, it depends on your document usage overlap. It you have a set of documents needed for meta-data storage, it behooves you to make sure these are always cached.

cheers,
-Mike

Reply via email to