Some further notes on tests with and without -O2 -DNDEBUG (RelWithDebInfo). 1. cache_bench: =============== Optimized build: $ ./cache_bench Population complete ---------------------------- RocksDB version : 6.13 Number of threads : 16 Ops per thread : 2621440 Cache size : 1073741824 Num shard bits : 6 Max key : 524288 Resident ratio : 0.25 Skew degree : 5 Populate cache : 1 Lookup+Insert pct : 87% Insert percentage : 2% Lookup percentage : 10% Erase percentage : 1% ---------------------------- Complete in 104.110 s; QPS = 402872 Unoptimized build: $./cache_bench Population complete ---------------------------- RocksDB version : 6.13 Number of threads : 16 Ops per thread : 2621440 Cache size : 1073741824 Num shard bits : 6 Max key : 524288 Resident ratio : 0.25 Skew degree : 5 Populate cache : 1 Lookup+Insert pct : 87% Insert percentage : 2% Lookup percentage : 10% Erase percentage : 1% ---------------------------- Complete in 237.846 s; QPS = 176345 ==================== 2. A shorter version of Read-modify-write [0]: a) update random: bpl=2612144;overlap=10;mcz=2;del=30000000;levels=6;ctrig=4; delay=8; stop=12; mbc=20; r=5000000; t=10; vs=8; bs=65536; si=10000; time ./db_bench --benchmarks=updaterandom --disable_seek_compaction=1 --mmap_read=0 --statistics=1 --histogram=1 --num=$r --threads=$t --value_size=$vs --block_size=$bs --db=/tmp/sdb/ --disable_wal=1 --stats_interval=$si --max_background_compactions=$mbc --level0_file_num_compaction_trigger=$ctrig --level0_slowdown_writes_trigger=$delay --level0_stop_writes_trigger=$stop --num_levels=$levels --delete_obsolete_files_period_micros=$del --min_level_to_compress=$mcz --stats_per_interval=1 --max_bytes_for_level_base=$bpl --use_existing_db=0 Optimized build (updaterandom): 20.762 micros/op 190051 ops/sec; 7.6 MB/s ( updates:500000 found:376042) Unoptimized build (updaterandom): 135.577 micros/op 29430 ops/sec; 1.2 MB/s ( updates:500000 found:377109) b) bpl=10485760;overlap=10;mcz=2;del=30000000;levels=6;ctrig=4; delay=8; stop=12; mbc=20; r=5000000; t=10; vs=8; bs=65536; si=1000000; time ./db_bench --benchmarks=mergerandom --merge_operator=uint64add --disable_seek_compaction=1 --mmap_read=0 --statistics=1 --histogram=1 --num=$r --threads=$t --value_size=$vs --block_size=$bs --db=/tmp/disk_db --disable_wal=1 --stats_interval=$si --max_background_compactions=$mbc --level0_file_num_compaction_trigger=$ctrig --level0_slowdown_writes_trigger=$delay --level0_stop_writes_trigger=$stop --num_levels=$levels --delete_obsolete_files_period_micros=$del --min_level_to_compress=$mcz - --stats_per_interval=1 --max_bytes_for_level_base=$bpl --use_existing_db=0 merge random (optimized build): 117.764 micros/op 84908 ops/sec; 1.9 MB/s ( updates:5000000) merge random (unoptimized build): 529.715 micros/op 18877 ops/sec; 0.4 MB/s ( updates:5000000) ================ 3. A shorter version of in-memory-worklad [1]: a) With 32 threads: Command/parameters: ./db_bench --db=/tmp/rocksdb --num_levels=6 --key_size=20 --prefix_size=20 --keys_per_prefix=0 --value_size=100 --cache_size=17179869184 --cache_numshardbits=6 --compression_type=none --compression_ratio=1 --min_level_to_compress=-1 --disable_seek_compaction=1 --hard_rate_limit=2 --write_buffer_size=134217728 --max_write_buffer_number=2 --level0_file_num_compaction_trigger=8 --target_file_size_base=134217728 --max_bytes_for_level_base=1073741824 --disable_wal=1 --sync=0 --verify_checksum=1 --delete_obsolete_files_period_micros=314572800 --max_background_compactions=4 --max_background_flushes=0 --level0_slowdown_writes_trigger=16 --level0_stop_writes_trigger=24 --statistics=0 --stats_per_interval=0 --stats_interval=1048576 --histogram=0 --use_plain_table=1 --open_files=-1 --mmap_read=1 --mmap_write=0 --memtablerep=prefix_hash --bloom_bits=10 --bloom_locality=1 --duration=720 --benchmarks=readwhilewriting --use_existing_db=1 --num=52428800 --threads=32 --allow_concurrent_memtable_write=0 Optimized build: readwhilewriting : 93.635 micros/op 341214 ops/sec; 39.0 MB/s (7737999 of 7737999 found) Unoptimized build: readwhilewriting : 234.604 micros/op 136383 ops/sec; 1.6 MB/s (310663 of 3060999 found) b) a) With 4 threads: Command/parameters: ./db_bench --db=/tmp/rocksdb --num_levels=6 --key_size=20 --prefix_size=20 --keys_per_prefix=0 --value_size=100 --cache_size=17179869184 --cache_numshardbits=6 --compression_type=none --compression_ratio=1 --min_level_to_compress=-1 --disable_seek_compaction=1 --hard_rate_limit=2 --write_buffer_size=134217728 --max_write_buffer_number=2 --level0_file_num_compaction_trigger=8 --target_file_size_base=134217728 --max_bytes_for_level_base=1073741824 --disable_wal=1 --sync=0 --verify_checksum=1 --delete_obsolete_files_period_micros=314572800 --max_background_compactions=4 --max_background_flushes=0 --level0_slowdown_writes_trigger=16 --level0_stop_writes_trigger=24 --statistics=0 --stats_per_interval=0 --stats_interval=1048576 --histogram=0 --use_plain_table=1 --open_files=-1 --mmap_read=1 --mmap_write=0 --memtablerep=prefix_hash --bloom_bits=10 --bloom_locality=1 --duration=720 --benchmarks=readwhilewriting --use_existing_db=1 --num=52428800 --threads=4 --allow_concurrent_memtable_write=0 Optimized build: readwhilewriting : 1749.003 micros/op 2281 ops/sec; 0.3 MB/s (410999 of 410999 found) Unoptimized build: readwhilewriting : 984.023 micros/op 4063 ops/sec; 0.5 MB/s (736999 of 736999 found) ================= [0] https://github.com/facebook/rocksdb/wiki/Read-Modify-Write-Benchmarks [1] https://github.com/facebook/rocksdb/wiki/RocksDB-In-Memory-Workload-Performance-Benchmarks