[PATCH] improve searching under high concurrancy
------------------------------------------------
Key: LUCENE-1337
URL: https://issues.apache.org/jira/browse/LUCENE-1337
Project: Lucene - Java
Issue Type: Improvement
Components: Search
Affects Versions: 2.3.1
Environment: Linux
Reporter: Brian Gardner
Priority: Minor
I was trying to load test my web server and kept running into a condition were
the web server would become unresponsive even though the load was below one.
Turns out Lucene has synchronization blocks around reading the index. It
appears this was only necassary to synchronize access to a descriptor which
contains a RandomAccessFile and information about the state of this file. My
solution was to use a pool of descriptors so that they could be reused on
subsequent reads. During periods of low contention only one or a few
Descriptors will be created, but under heavy loads many Descriptors can be
created to avoid synchronization. After creating and applying my patch, I was
able to triple my searching throughput and fully utilize the resources, the
CPU's becoming the new bottleneck. My patch modifies FSDirectory directly,
but I'm not entirely sure that's the proper implementation. I'd like to help
resolve this synchronization issue for other lucene users, so please let me
know how I can help.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]