[ 
https://issues.apache.org/jira/browse/LUCENE-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael McCandless updated LUCENE-2050:
---------------------------------------

    Attachment: LUCENE-2050.patch

Attached patch.

> Improve contrib/benchmark for testing near-real-time search performance
> -----------------------------------------------------------------------
>
>                 Key: LUCENE-2050
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2050
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/benchmark
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: LUCENE-2050.patch
>
>
> It's not easy to test NRT performance right now w/ contrib/benchmark.
> I've made some initial fixes to improve this:
>   * Added new '&', that can follow any task within a serial sequence,
>     to "background" the task (just like a shell).  The test runs in
>     the BG, and then at the end of all serial tasks, any still running
>     BG tasks are stopped & joined.
>   * Added WaitTask that simply waits; useful for controlling how long
>     the BG'd tasks get to run.
>   * Added RollbackIndex task, which is real handy for using a given
>     index for an NRT test, doing a bunch of updates, then reverting it
>     all so your next run uses the same starting index
>   * Fixed the existing NearRealTimeReaderTask to simply periodically
>     open the new reader (previously it was also running a fixed
>     search), and removed its own threading (since & can do that
>     now). It periodically wakes up, opens the new reader, and swaps it
>     into the PerfRunData, at the schedule you specify.  I switched all
>     usage of PerfRunData's get/setIndexReader APIs to use ref
>     counting.
> With these changes you can now make some very simple but powerful
> algs, eg:
> {code}
> OpenIndex
> {
>   NearRealtimeReader(0.5) &
>   # Warm
>   Search
>   { "Index1" AddDoc > : * : 100/sec &
>   [ { "Search" Search > : * ] : 4 &
>   Wait(30.0)
> }
> CloseReader
> RollbackIndex
> RepSumByName
> {code}
> This alg first opens the IndexWriter, then spawns the BG thread to
> reopen the NRT reader twice per second, does one warming Search (in
> the FG), spans a new thread to index documents at the rate of 100 per
> second, then spawns 4 search threads that do as many searches as they
> can.  We then wait for 30 seconds, then stop all the threads, revert
> the index, and report.
> The patch is a work in progress -- it generally works, but there're a
> few nocommits, and, we may want to improve reporting (though I think
> that's a separate issue).

-- 
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: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to