[
https://issues.jboss.org/browse/ISPN-5452?page=com.atlassian.jira.plugin....
]
Sanne Grinovero commented on ISPN-5452:
---------------------------------------
I've been looking at the method invocations, and agree with you that
{{HSQueryImpl.buildSearcher(}} seems to be a significant difference.
But exploring further, they both invoke ultimately the method {{CRC32.updateBytes(int,
byte[], int, int)}}, which is the slow point. In the Infinispan Query case this consumes
7.39%, in the RMI based example this consumes 2.02%.
Your profiling results are sampling, so it's possible that one case seems higher
*relatively* as it's being invoked more (looks like we agree on the conclusion so
far?).
But what I'm reading out of this, is not that Infinispan Query decides to not reuse
the IndexReader but instead decides to reopen it, what I'm reading is that the
Infinispan Query scenario is running many more queries.
Could you confirm this by running a profiler section - or just logging - to count how many
queries one case is doing vs how many queries the other is doing? I can't read that
from sampling output, but in case I think there's a problem with your benchmark, maybe
because the Infinispan Query case is faster you're getting many more queries done on
it and that would explain the higher rate of index reader reopening events.
Query Execution using Hibernate Search slow for large volume data
-----------------------------------------------------------------
Key: ISPN-5452
URL:
https://issues.jboss.org/browse/ISPN-5452
Project: Infinispan
Issue Type: Bug
Components: Configuration, Remote Querying
Affects Versions: 7.2.1.Final
Environment: Linux
Reporter: Prashant Thakur
Attachments: profiling_results.7z
While benchmarking Infinispan we found that Querying is very slow when compared with
Hibernate Search in Isolation
Single node of Infinispan
Memory allocated 230GB. No GC seen throughout query operation.
Total required after full GC was 122GB.
Setup 240 million records each of avg size 330 bytes .
System has 16 cores and 40 worker threads were allocated at server side.
With Single Client thread throughput was 900 req/sec in remote and 3k per sec in embedded
more same request with Hibernate Search in Isolation gives throughput of 14000 req/sec.
For 50 threads of clients the throughput was limited to 15k req/sec while hibernate
search gives 80k req/sec for 10 threads.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)