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

Reply via email to