Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
We noticed during some tests that there is a performance hit for heavy update operations when creating a new index reader.
It appears that for larger index segments (2 million docs) the hit comes from checking each entry if it is deleted or not, so the workaround would be to try to minimize this intensive operation by moving the creation and update of this set from the ReadOnlyIndexReader to the CommittableIndexReader.
The test setup: repository of 7 million nodes, with 4 threads that do only updates on duration of 5 mins.
The result after applying the patch: the throughput (number of operations per second doubled), going from ~32 ops/second to ~64 ops/second (with highs up to 74).