Solr will use multiple processors. Most of your speed will come from cached responses. Use a single instance, test with real query logs, and tune the cache sizes by looking at the cache hit statistics in the statistics page of the Solr admin UI.
wunder On 1/8/09 3:37 PM, "smock" <harish.agar...@gmail.com> 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. > > Thanks very much! > -Harish > > > > yonik wrote: >> >> On Thu, Jan 8, 2009 at 4:51 PM, smock <harish.agar...@gmail.com> wrote: >>> Thanks for the reply - could you please give me some more details on what >>> you mean? >> >> If there isn't enough memory to cache the index in RAM, then your >> bottleneck could be from retrieving stored fields from disk. >> Distributed search will make this much worse because you have 2 JVMs >> eating up memory instead of one, further lowering the cache hit ratio >> of the OS disk cache. >> >> With a 2 CPU machine, a single Solr index is advisable, esp for web >> traffic where there will be plenty of requests to keep both CPUs busy. >> >> -Yonik