On 3/16/2018 7:38 AM, Deepak Goel wrote: > I did a performance study of Solr a while back. And I found that it does > not scale beyond a particular point on a single machine (could be due to > the way its coded). Hence multiple instances might make sense. > > https://docs.google.com/document/d/1kUqEcZl3NhOo6SLklo5Icg3fMnn9OtLY_lwnc6wbXus/edit?usp=sharing
How did you *use* that code that you've shown? That is not apparent (at least to me) from the document. If every usage of the SolrJ code went through ALL of the code you've shown, then it's not done well. It appears that you're creating and closing a client object with every query. This will be VERY inefficient. The client object should be created during an initialization step, and then passed to the benchmark step to be used there. One client object can be used by many threads. Very likely the ES client works the same, but you'd need to ask them to be sure. That code seems to be doing an identical query on every run. If that's what's happening, it's not a good indicator of performance. Running the same query over and over will show better performance than you can expect from a real-world query load. What evidence do you see that Solr isn't scaling like you expect? Thanks, Shawn