On 8-Jan-09, at 3:37 PM, smock wrote:
Assuming I have enough RAM then, should I be able to get a
performance boost
with my current setup? Basically, the question I am trying to
answer is -
will the Tomcat+Solr setup I have above utilize multiple processors
or do I
need to do something else (like having a different tomcat instance
for each
Solr shard)?
Also - and this question comes purely out of my own ignorance of how
the
Tomcat/Solr relationship works - right now I'm starting Tomcat
specifying
the maximum memory size. I'm also setting cache parameters in
solrconfig.xml for each solr instance to half of what I would for a
full
size index. Shouldn't the JVMs for both instances use roughly the
same
total amount of memory as 1 JVM for the full size index?
While I'm testing things out on a 2 processor machine, I'll
eventually be
using an 8 proc. machine with plenty of RAM to cache the index in
RAM. I'm
not super worried about requests/sec. right now - I'd rather each
individual
search be faster, which is why I'm interested in distributing the
index
across my 8 procs.
As Yonik mentioned, it depends greatly on the size of the index/RAM
ratio. I don't see any reason why, in theory, two Solrs in a single
Tomcat could not both work on a single query in parallel, but I've
never tried it. I _have_ had success sharding Solr on a single using
a webapp container per Solr instance (in my case, Jetty).
Note that if these instances are sharing a single disk, and your RAM
is low, then they will be competing over the slowest resource on your
machine and the query could be IO bound, in which case sharding is
useless.
-Mike