RavenDB perf test results
The test include inserting small documents, with 3 active (map only) indexes. The X axis is the number of document inserted. The Y axis is the number of milliseconds each operation took.
- Insert - the time to insert all the documents, in batches of 128 documents each.
- Index - the time that it takes all indexes to complete work
The baseline scenario was build 139. The test program can be found here: http://pastie.org/1085752
Three different changes were measures:
- Index documents to a RAM directory and merge them to the index.
- Eager indexing, which means indexing all the stale indexes (map part) and then running the reduce part.
- Combination of both
As an aside, I also tested the results with the timeout for indexing set to 10 minutes, which confirms that it isn't the timeout that is not relevant for index updates.
I then tried to move the indexing process to a multi threaded approach, which gives us this:
Please note that currently only the map part of the indexes will run in a multi threaded fashion, the reduce part will run in a single thread (and yes, we plan to fix that).
I am currently looking at what else I can do to improve indexing perf.
