Jim Paton 9700677a2b Slow down writes gradually rather than suddenly
Summary:
Currently, when a certain number of level0 files (level0_slowdown_writes_trigger) are present, RocksDB will slow down each write by 1ms. There is a second limit of level0 files at which RocksDB will stop writes altogether (level0_stop_writes_trigger).

This patch enables the user to supply a third parameter specifying the number of files at which Rocks will start slowing down writes (level0_start_slowdown_writes). When this number is reached, Rocks will slow down writes as a quadratic function of level0_slowdown_writes_trigger - num_level0_files.

For some workloads, this improves latency and throughput. I will post some stats momentarily in https://our.intern.facebook.com/intern/tasks/?t=2613384.

Test Plan:
make -j32 check
./db_stress
./db_bench

Reviewers: dhruba, haobo, MarkCallaghan, xjin

Reviewed By: xjin

CC: leveldb, xjin, zshao

Differential Revision: https://reviews.facebook.net/D11859
2013-07-31 16:20:48 -07:00
..
2013-07-31 12:42:23 -07:00
2013-02-28 18:04:58 -08:00
2011-10-31 17:22:06 +00:00
2013-07-23 13:36:50 -07:00
2013-06-18 15:00:32 -07:00
2012-04-17 08:36:46 -07:00
2011-10-31 17:22:06 +00:00
2012-12-16 08:58:28 -08:00
2013-07-29 10:34:23 -07:00
2012-11-28 17:18:41 -08:00