Thanks Otis!

I think I now got a clearer picture of the issue and its causes, thanks.

Could you please elaborate on "warming up" searcher prior exposure to real requests, does this mean running through as many most often used queries as possible such that results are cached, and also use as much cache as possible?

Thanks!



--------------------------------------------------
From: "Otis Gospodnetic" <[EMAIL PROTECTED]>
Sent: Wednesday, February 06, 2008 1:09 PM
To: <solr-user@lucene.apache.org>
Subject: Re: how to improve concurrent request performance and stress testing

Imagine this type of code:

synchronized (someGlobalObject) {
 // search
}

What happens when 100 threads his this spot? The first one to get there gets in and runs the search and 99 of them wait. What happens if that "// search" also involves expensive operations, lots of IO, warming up, cache population, etc? Those 99 threads will have to wait a while.... :)

That's why it is recommended to warm up the searcher ahead of time before exposing it to real requests. However, even if you warm things up, that sync block will remain there, and at some point this will become a bottleneck. What that point is depends on the hardware, index size, query complexity and rat, even JVM.

Otis

--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch

----- Original Message ----
From: Ziqi Zhang <[EMAIL PROTECTED]>
To: solr-user@lucene.apache.org
Sent: Wednesday, February 6, 2008 6:37:40 PM
Subject: Re: how to improve concurrent request performance and stress testing

Thanks

Yonik,


>

It

uses

a

thread

per

request,

simultaneously

(up

to

any

limit
>

configured

by

the

app

server)

How

can

I

change

this

setting

then?

I

suppose

it

is

to

do

with

Jetty

or
Tomcat

whichever

hosts

solr

application,

not

through

the

solrconfig?

I

still

do

not

understand

why

sending

100

request

(of

same

query)

from

100
threads

throws

solr

server

to

silence

-

is

it

because

of

the

computational
cost

to

deal

with

same

query

in

100

separate

threads?

I

noticed

that

disabling

facet

counts

improves

things

a

bit,

but

not
significant.

Thanks

in

advance!





Reply via email to