: >> Aha! I bet that the full Query object became a lot more complicated
: >> between Solr 1.1 and 1.3. That would explain why we did 4X as much GC
: >> after the upgrade.

I don't thinkg the Query class implementations themselves changed in 
anyway that would have made them larger -- but if you switched from the 
standard parser to dismax parser, or started using lots of boost 
queries, or started using prefix or wildcard queries, then yes: the Query 
objects used would have gotten bigger.

: Another approach is to get fancy with the load balancing and always
: send the same query back to the same server. That increases the
: effective cache size by the number of servers, but it forces a
: simplistic round-robin load balancing and you have to be careful
: with down servers to avoid blowing all the caches simultaneously.

at a certain point, if you have enough machines, a two tiered LB situation 
starts to be worth consideration.  tier#1 can use hashing on the 
querystring to pick which tier#2 cluster to send the query to.  each 
tier#2 cluster can be fronted by a load balancer that picks the server to 
use based on whatever "workload" metric you want.  a small percentage of 
machines in any given cluster (or in every cluster) can be down w/o 
worrying about screwing up the caches or adversly afecting traffic -- you 
just can't let an entire cluster be down at once.



-Hoss

Reply via email to