-
Notifications
You must be signed in to change notification settings - Fork 182
mv tuning5
- merged to develop
- code complete
- development started
This page discusses a second set of tunings and fixes made to basho/leveldb as part of the final Riak 2.0 release preparation.
The previous tuning branch, mv-tuning4, raised the compaction threshold count from 4 to 6 for overlapped .sst table files in levels 0 and 1. The gLevelTraits table at the top of db/version_set.cc was adjust then accordingly. This branch further adjusts the gLevelTraits table based upon execution results on various hardware platforms and analysis of leveldb's LOG files. Baseline tests indicate these new adjustments reduce the write amplification in specific tests from 6 to 4 … improving ingest speed and overall throughput.
basho/leveldb changes in the branch are all performance tunings. There are no known bugs addressed. Riak 2.0's leveldb contains the hot-threads branch which replaces all the horrible hacks to threads and locks with real code. The hot-threads worked great on fast disk arrays and required no changes to the write throttle code. Then we started testing on slow arrays. Hot-threads was too fast and the write throttle was completely inappropriate (lots of sawtooth throughput graphs). There are still sawtooth patterns on some heavy loads, but the teeth are smaller and overall throughput greater.