rocksdb/include/leveldb
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
..
arena.h Make arena block size configurable 2013-07-31 12:42:23 -07:00
c.h
cache.h Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
compaction_filter.h [RocksDB] Cleanup compaction filter to use a class interface, instead of function pointer and additional context pointer. 2013-05-13 14:06:10 -07:00
comparator.h
db.h Use KeyMayExist for WriteBatch-Deletes 2013-07-23 13:36:50 -07:00
env.h [RocksDB] Option for incremental sync 2013-06-18 15:00:32 -07:00
filter_policy.h
iterator.h
ldb_tool.h [RocksDB] Expose LDB functioanality as a library call - clients can build their own LDB binary with additional options 2013-04-11 20:21:49 -07:00
memtablerep.h Make arena block size configurable 2013-07-31 12:42:23 -07:00
merge_operator.h [Rocksdb] Support Merge operation in rocksdb 2013-05-03 16:59:02 -07:00
options.h Slow down writes gradually rather than suddenly 2013-07-31 16:20:48 -07:00
slice.h
statistics.h Add stall counts to statistics 2013-07-29 10:34:23 -07:00
status.h [Rocksdb] Support Merge operation in rocksdb 2013-05-03 16:59:02 -07:00
table_builder.h
transaction_log_iterator.h Do not allow Transaction Log Iterator to fall ahead when writer is writing the same file 2013-03-06 14:05:53 -08:00
types.h
write_batch.h [RocksDB] Expose count for WriteBatch 2013-06-26 15:13:21 -07:00