On Thu, Jan 8, 2009 at 9:25 PM, smock <harish.agar...@gmail.com> wrote: > I should have more than enough RAM to fit the index in, I don't think my > searches will be IO bound.
There is still overhead to distributed search - if the actual CPU bound search/faceting stuff isn't your bottleneck, or if the index is too small, the overhead won't be a net win. Distributed search was not really designed to utilize multiple processors (we should probably do that in a single Solr server if needed), it was designed to go across multiple boxes. -Yonik > One question - just to make sure I understand - did you use one Jetty > instance per shard? In my case, what I'm doing is using one Tomcat instance > to run multiple Solr webapps. I'm not sure if this makes a difference, in > term of processor usage as I don't understand the internal workings of > Tomcat serving up Solr (in other words, if Tomcat will be able to run the > different Solr instances on different processors, or if its all bound to the > processor Tomcat is using). > > Thanks for your help! > -Harish > > > Mike Klaas wrote: >> >> 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 >> >> > > -- > View this message in context: > http://www.nabble.com/Solr-on-a-multiprocessor-machine-tp21360747p21365126.html > Sent from the Solr - User mailing list archive at Nabble.com. > >