Lucene Search not scalling
--------------------------
Key: LUCENE-3653
URL: https://issues.apache.org/jira/browse/LUCENE-3653
Project: Lucene - Java
Issue Type: Improvement
Reporter: Gerrit Jansen van Vuuren
I've noticed that when doing thousands of searches in a single thread the
average time is quite low i.e. a few milliseconds. When adding more concurrent
searches doing exactly the same search the average time increases drastically.
I've profiled the search classes and found that the whole of lucene blocks on
org.apache.lucene.index.SegmentCoreReaders.getTermsReader
org.apache.lucene.util.VirtualMethod
public synchronized int getImplementationDistance
org.apache.lucene.util.AttributeSourcew.getAttributeInterfaces
These cause search times to increase from a few milliseconds to up to 2 seconds
when doing 500 concurrent searches on the same in memory index. Note: That the
index is not being updates at all, so not refresh methods are called at any
stage.
Some questions:
Why do we need synchronization here?
There must be a non-lockable solution for these, they basically cause lucene
to be ok for single thread applications but disastrous for any concurrent
implementation.
I'll do some experiments by removing the synchronization from the methods of
these classes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]