Hello Andy,

On Tue, Nov 13, 2012 at 1:26 PM, Andy Lester <a...@petdance.com> wrote:

> We're getting close to deploying our Solr search solution, and we're doing
> performance testing, and we've run into some questions and concerns.
>
> Our number one problem: Doing a commit from loading records, which can
> happen throughout the day, makes all queries stop for 5-7 seconds.  This is
> a showstopper for deployment.
>
> Here's what we've observed: Upon commit, Solr finishes processing queries
> in flight, starts up a new searcher, warms it, shuts down the old searcher
> and puts the new searcher into effect. Does the old searcher stop taking
> requests before the new searcher is warmed or after? How wide is the window
> of time wherein Solr is not serving requests?  For us, it's about five
> seconds and we need to drop that dramatically.  In general, what is the
> difference between accepting the delay of waiting for warming vs. accepting
> the delay of running useColdSearcher=true?
>

Old searcher is used while the new one is being warmed up.
Solr should always be serving requests - it's not designed to have a a
moment when it's not serving them because of searcher swap.
Don't use cold searcher - the first unlucky user will pay the price and
will likely block all other queries for a while.
Your queries probably don't actually stop for 5-7 seconds, they just slow
down.
Look at your system's performance metrics during this period.  GC high?
Disk IO high? CPU high?


> Is there any such thing as/any sense in running more than one searcher in
> our scenario?  What are the benefits of multiple searchers?  Erik Erikson
> posts in 2012: "Unless you have warming happening, there should only be a
> single searcher open at any given time." Except: "If your queries run
> across several commits you'll get multiple searchers open." Not sure if
> this is a general observation, or specific to the particular poster's
> situation.
>
> Finally, what do people mean when they blog that they have Solr set up for
> "n threads"? Is that the same thing as saying that Solr can be processing n
> requests simultaneously?
>

Not sure what they mean :)  It is the servlet container that deals with
threads, not Solr.  Maybe this is referring to indexing with N threads in
parallel to speed up  indexing (in pre-Solr 4.0 days).



> Thanks for any insight or even links to relevant pages.  We've been
> Googling all over and haven't found answers to the above.


Try http://search-lucene.com

If you are doing performance testing and warming is a concern, one of the
reports in SPM for Solr shows where warming time is being spent - on which
caches or on the searcher, and how much time goes on each.  Oh, which
reminds me - it is also possible your cache settings are such that they
require a lot of warming and it is possible that your warmup queries are
too heavy or numerous.

Otis
-- 
Solr Performance Monitoring - http://sematext.com/spm/index.html
Search Analytics - http://sematext.com/search-analytics/index.html

Reply via email to