Gabriel,

It sounds like it's not the CPU.
Are you watching disk IO?  Maybe the time is spent reading from disk?  Although 
if you are repeating the same query the results should be cached by Solr if you 
have query cache enabled.
Or JVM/GC?  Maybe the heap is too small and the JVM is busy GCing?  Actually, 
not likely, that would keep the CPU busy.

See link in signature, man vmstat, iostat, try jconsole or visualvm...

Otis 

----
Performance Monitoring SaaS for Solr - 
http://sematext.com/spm/solr-performance-monitoring/index.html 


----- Original Message -----
> From: gabriel shen <xshco...@gmail.com>
> To: solr-user@lucene.apache.org; yo...@lucidimagination.com
> Cc: 
> Sent: Wednesday, January 18, 2012 10:15 PM
> Subject: Re: first time query is very slow
> 
> Hi Yonik,
> 
> The index I am querying against is 20gb, containing 200,000documents, some
> of the documents are quite big, the schema contains more than 50 fields.
> Main content field are defined as both stored and indexed, applied
> htmlstripping, standardtokenization, decompounding, stemming filters,
> without termvector. The solr3.3 installation runs on top of jvm64 with 12gb
> memory. Default cache option(512) is applied.
> 
> First I did a query with default query parser and a single query field
> called 'maintext',
> http://xxx:hhhh/solr/document/select?q=maintext:most%20populous%20
> city&start=0&rows=25
> It took 727 milliseconds in QueryComponent which is fine
> 
> http://xxx:hhhh/solr/document/select?q=maintext:most%20populous%20
> city&start=0&rows=25
> &sort=sumlevel1%20asc,%20sumlevel2%20asc,%20domdate%20desc,%20score%20desc&facet=true&facet.field=sumlevel1
> It took 157 milliseconds in QueryComponent
> 
> 
> And then I did the the another dismax query with the same query keywords(I
> suppose most documents, sorting, filtering are being cached)
> 
> http://xxx:hhhh/solr/document/select?q=most%20populous%20city
> &qt=dismax&start=0&rows=25&qf=superdocid^1000%20popular-name^1000%20author^100%20target-id^50%20title_simple^50%20title^25%20summary_simple^25%20summary^10%20maintext_simple^5%20annotation_DEF_simple^5%20maintext%20annotation_DEF&pf=popular-name^1000%20author^100%20title_simple^50%20title^25%20summary_simple^25%20summary^10%20maintext_simple^5%20annotation_DEF_simple^5%20maintext%20annotation_DEF&sort=sumlevel1%20asc,%20sumlevel2%20asc,%20domdate%20desc,%20score%20desc&facet=true&facet.field=sumlevel1&debugQuery=true
> 
> It took more than 15-20 seconds before browser shows result, and it
> displays 4781 milliseconds in QueryComponent
> 
> then I cleaned browser cache and run the same dismax url again,
> It still will take 2500milliseonds in QueryComponent, and on the server
> machine, I only observed a  glance of cpu spike of 84%, and returned to 2%
> immediately  during the query.
> 
> Can you see what took the most time here? Is there any way to improve the
> speed?
> 
> thanks,
> shen
> 
> 
> On Tue, Jan 17, 2012 at 11:25 PM, Yonik Seeley
> <yo...@lucidimagination.com>wrote:
> 
>>  On Tue, Jan 17, 2012 at 9:39 AM, gabriel shen <xshco...@gmail.com> 
> wrote:
>>  > For those customers who unluckily send un-prewarmed query, they will
>>  suffer
>>  > from bad response time, it is not too pleasant anyway.
>> 
>>  The "warming caches" part isn't about unique queries, but 
> more about
>>  caches used for sorting and faceting (and those are reused across many
>>  different queries).
>>  Can you give an example of the complete request you were sending that
>>  takes a long time?
>> 
>>  -Yonik
>>  http://www.lucidimagination.com
>> 
>

Reply via email to