Return-Path: X-Original-To: apmail-lucene-dev-archive@www.apache.org Delivered-To: apmail-lucene-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5AD8097C1 for ; Sat, 17 Dec 2011 00:31:01 +0000 (UTC) Received: (qmail 30134 invoked by uid 500); 17 Dec 2011 00:31:00 -0000 Delivered-To: apmail-lucene-dev-archive@lucene.apache.org Received: (qmail 30031 invoked by uid 500); 17 Dec 2011 00:31:00 -0000 Mailing-List: contact dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list dev@lucene.apache.org Received: (qmail 29993 invoked by uid 99); 17 Dec 2011 00:30:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 17 Dec 2011 00:30:59 +0000 X-ASF-Spam-Status: No, hits=-2001.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 17 Dec 2011 00:30:51 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id BD9AF11754A for ; Sat, 17 Dec 2011 00:30:30 +0000 (UTC) Date: Sat, 17 Dec 2011 00:30:30 +0000 (UTC) From: "Uwe Schindler (Commented) (JIRA)" To: dev@lucene.apache.org Message-ID: <1731603128.21567.1324081830777.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <47832488.21137.1324075950805.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (LUCENE-3653) Lucene Search not scalling MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/LUCENE-3653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13171367#comment-13171367 ] Uwe Schindler commented on LUCENE-3653: --------------------------------------- The problems you are mentioning are no issues at all: - VirtualMethod is only used during class instantiations and class loading and must be synchronized. There is unlikely contention at all, just because its synchronized it does not mean its slow. - getAttributeInterfaces must be synchronized, too, as it has a reflection cache and is also only used during TokenStream instantiation. Analyzers should reuse TokenStreams so its not an issue at all. Fix your analyzers to resuse TokenStreams. On concurency the average time increases because of eventual contention in your file system directory implementation, not because methods may be synchronized. > 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: dev-unsubscribe@lucene.apache.org For additional commands, e-mail: dev-help@lucene.apache.org