lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Commented: (LUCENE-2061) Create benchmark & approach for testing Lucene's near real-time performance
Date Wed, 18 Nov 2009 10:14:39 GMT


Michael McCandless commented on LUCENE-2061:

OK I modified to take advantage of some of the features in

  * Reopen thread runs with pri +2, indexing threads pri +1, search
    threads normal pri

  * I compute mean/stddev reopen time, and added to the tables

I made some other small changes, eg changed -report to create a
separate 'add only' vs 'delete + add' table.

Finally, I switched to a non-optimized 5M Wikpedia index (12
segments), with 1% deletions.  I think this is a more typical index
that an app would have after running NRT for a while.

New results:

java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)

SunOS rhumba 5.11 snv_111b i86pc i386 i86pc Solaris

Baseline QPS 144.24

Add only:
||Docs/sec||Reopen every (sec)||Reopen mean (ms)||Reopen stddev(ms)||QPS||% diff||

Delete + add:
||Docs/sec||Reopen every (sec)||Reopen mean (ms)||Reopen stddev(ms)||QPS||% diff||


  * Something odd is still going on -- eg at 100 docs/sec, when we
    reopen every 30 sec we see fairly small hit to QPS for both the
    add & delete+add, vs reopening more often.  Reopening every 5
    seconds is by far the worse.  Strange.

  * Right off the bat, even at 10 docs/sec, we take a hit in QPS for
    both add and delete+add cases

  * The delete+add generally (though not always) has worse QPS than
    the add only case

  * Curiously it seems like reopening less frequently often hurts QPS
    more (though not always) -- I would have expected overall better
    QPS throughput, even though when the reopen happens it takes
    longer to turnaround; strange.

  * Delete+add clearly takes longer to turnaround the new reader, but,
    the times remain reasonable even up to 1000 docs/sec.  The faster
    you reopen your reader, the less time the reopen takes since there
    are fewer delete+adds to process.

> Create benchmark & approach for testing Lucene's near real-time performance
> ---------------------------------------------------------------------------
>                 Key: LUCENE-2061
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Task
>          Components: Index
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>            Priority: Minor
>         Attachments: LUCENE-2061.patch, LUCENE-2061.patch
> With the improvements to contrib/benchmark in LUCENE-2050, it's now
> possible to create compelling algs to test indexing & searching
> throughput against a periodically reopened near-real-time reader from
> the IndexWriter.
> Coming out of the discussions in LUCENE-1526, I think to properly
> characterize NRT, we should measure net search throughput as a
> function of both reopen rate (ie how often you get a new NRT reader
> from the writer) and indexing rate.  We should also separately measure
> pure adds vs updates (deletes + adds); the latter is much more work
> for Lucene.
> This can help apps make capacity decisions... and can help us test
> performance of pending improvements for NRT (eg LUCENE-1313,
> LUCENE-2047).

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:
For additional commands, e-mail:

View raw message