Summary:
See https://github.com/facebook/rocksdb/issues/10082 for more details. Trivial move
isn't done for universal when compaction is from L0 into L0. So a too small value for
num_levels with db_bench means there will be fewer trivial moves with universal and
that means that write-amp will increase.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/10158
Test Plan: run it
Reviewed By: siying
Differential Revision:
D37122519
Pulled By: mdcallag
fbshipit-source-id:
1cb39049676f68a6cc3ea8d105a9965f89d4d09e
--wal_dir=$WAL_DIR \
\
--num=$num_keys \
- --num_levels=8 \
--key_size=$key_size \
--value_size=$value_size \
--block_size=$block_size \
level_const_params="
$const_params_base \
--compaction_style=0 \
+ --num_levels=8 \
--min_level_to_compress=$min_level_to_compress \
--level_compaction_dynamic_level_bytes=true \
--pin_l0_filter_and_index_blocks_in_cache=1 \
univ_const_params="
$const_params_base \
--compaction_style=1 \
+ --num_levels=40 \
--universal_compression_size_percent=$compression_size_percent \
--pin_l0_filter_and_index_blocks_in_cache=1 \
--universal_min_merge_width=$univ_min_merge_width \