To investigate the impact of the Meltdown and Spectre patches on the performance of ArangoDB, we ran benchmark tests with the two storage engines available in ArangoDB (MMFiles & RocksDB). We used the arangobench benchmark and test tool for these tests.
The tests include 10 different test cases with changing test parameters like concurrency, batch requests and asynchronous execution.
We used the
arangobench tool to execute a few different performance tests.
arangobench is an easy-to-use tool to measure performance, and it comes bundled with every ArangoDB release.
The test we ran measure the performance (in terms of elapsed time) for mass document insertion, because that is one of the most common use cases. For these document insertion tests, we varied some of the test invocation parameters to see if the impact varies depending on the setup.
Here are a few of the options we varied in the tests:
- serial insertion (one client thread) vs. parallel insertion (multiple client threads)
- using one HTTP request per insert vs. batching multiple operations in a single HTTP request (batching)
- synchronous (blocking) requests vs. asynchronous (non-blocking) fire-and-forget requests