On 3/16/2018 4:24 PM, Deepak Goel wrote:
> It is taking less than 100ms to create a HttpSolrClient Object

"Less than 100ms" is vague.  Let's say by that you mean it takes at
least 50 milliseconds.  This is a lot slower than I expected it to be,
but if you've measured it, I'll accept that.

If every single thread you're running has to spend 50 milliseconds or
more creating a client before it can actually send a request, then the
application is going to be spending a lot of time NOT sending requests,
but creating and destroying clients.  (You didn't indicate how long the
close() takes)

Your numbers indicated a response time of 1426 milliseconds for Solr. 
If this is an average or a median, then that is not a fast query.  These
numbers make me question the entire benchmark setup.  Based on the code
provided, I don't see how the numbers can be that bad, even if we assume
that up to 100 milliseconds is spent creating every client.

Because the ES numbers are so much worse than the Solr numbers, I'm
betting that creating an ES client is even less efficient than creating
a Solr client.  If that's the case, I do not know why ... maybe that
client runs through more startup checks than a Solr client does. 
Creation time for the client shouldn't matter, since it should only be
done once for every benchmark run, and the time spent creating the
client shouldn't be counted in the benchmark numbers.

Thanks,
Shawn

Reply via email to