Updated benchmark script (#4134)
Summary: When producing the updated performance on flash results for the wiki, these are the updates which were made. https://github.com/facebook/rocksdb/wiki/Performance-Benchmarks Pull Request resolved: https://github.com/facebook/rocksdb/pull/4134 Differential Revision: D13491052 Pulled By: gfosco fbshipit-source-id: dcd92f24659e0917cb1ac54a4446aa8e7aac8b0d
This commit is contained in:
parent
75a333ad2d
commit
311cd8cf2f
@ -20,6 +20,7 @@ fi
|
|||||||
K=1024
|
K=1024
|
||||||
M=$((1024 * K))
|
M=$((1024 * K))
|
||||||
G=$((1024 * M))
|
G=$((1024 * M))
|
||||||
|
T=$((1024 * T))
|
||||||
|
|
||||||
if [ -z $DB_DIR ]; then
|
if [ -z $DB_DIR ]; then
|
||||||
echo "DB_DIR is not defined"
|
echo "DB_DIR is not defined"
|
||||||
@ -44,16 +45,16 @@ if [ ! -z $DB_BENCH_NO_SYNC ]; then
|
|||||||
syncval="0";
|
syncval="0";
|
||||||
fi
|
fi
|
||||||
|
|
||||||
num_threads=${NUM_THREADS:-16}
|
num_threads=${NUM_THREADS:-64}
|
||||||
mb_written_per_sec=${MB_WRITE_PER_SEC:-0}
|
mb_written_per_sec=${MB_WRITE_PER_SEC:-0}
|
||||||
# Only for tests that do range scans
|
# Only for tests that do range scans
|
||||||
num_nexts_per_seek=${NUM_NEXTS_PER_SEEK:-10}
|
num_nexts_per_seek=${NUM_NEXTS_PER_SEEK:-10}
|
||||||
cache_size=${CACHE_SIZE:-$((1 * G))}
|
cache_size=${CACHE_SIZE:-$((17179869184))}
|
||||||
compression_max_dict_bytes=${COMPRESSION_MAX_DICT_BYTES:-0}
|
compression_max_dict_bytes=${COMPRESSION_MAX_DICT_BYTES:-0}
|
||||||
compression_type=${COMPRESSION_TYPE:-snappy}
|
compression_type=${COMPRESSION_TYPE:-zstd}
|
||||||
duration=${DURATION:-0}
|
duration=${DURATION:-0}
|
||||||
|
|
||||||
num_keys=${NUM_KEYS:-$((1 * G))}
|
num_keys=${NUM_KEYS:-8000000000}
|
||||||
key_size=${KEY_SIZE:-20}
|
key_size=${KEY_SIZE:-20}
|
||||||
value_size=${VALUE_SIZE:-400}
|
value_size=${VALUE_SIZE:-400}
|
||||||
block_size=${BLOCK_SIZE:-8192}
|
block_size=${BLOCK_SIZE:-8192}
|
||||||
@ -99,7 +100,6 @@ const_params="
|
|||||||
|
|
||||||
l0_config="
|
l0_config="
|
||||||
--level0_file_num_compaction_trigger=4 \
|
--level0_file_num_compaction_trigger=4 \
|
||||||
--level0_slowdown_writes_trigger=12 \
|
|
||||||
--level0_stop_writes_trigger=20"
|
--level0_stop_writes_trigger=20"
|
||||||
|
|
||||||
if [ $duration -gt 0 ]; then
|
if [ $duration -gt 0 ]; then
|
||||||
@ -108,30 +108,35 @@ fi
|
|||||||
|
|
||||||
params_w="$const_params \
|
params_w="$const_params \
|
||||||
$l0_config \
|
$l0_config \
|
||||||
--max_background_jobs=20 \
|
--max_background_compactions=16 \
|
||||||
--max_write_buffer_number=8"
|
--max_write_buffer_number=8 \
|
||||||
|
--max_background_flushes=7"
|
||||||
|
|
||||||
params_bulkload="$const_params \
|
params_bulkload="$const_params \
|
||||||
--max_background_jobs=20 \
|
--max_background_compactions=16 \
|
||||||
--max_write_buffer_number=8 \
|
--max_write_buffer_number=8 \
|
||||||
|
--allow_concurrent_memtable_write=false \
|
||||||
|
--max_background_flushes=7 \
|
||||||
--level0_file_num_compaction_trigger=$((10 * M)) \
|
--level0_file_num_compaction_trigger=$((10 * M)) \
|
||||||
--level0_slowdown_writes_trigger=$((10 * M)) \
|
--level0_slowdown_writes_trigger=$((10 * M)) \
|
||||||
--level0_stop_writes_trigger=$((10 * M))"
|
--level0_stop_writes_trigger=$((10 * M))"
|
||||||
|
|
||||||
|
params_fillseq="$params_w \
|
||||||
|
--allow_concurrent_memtable_write=false"
|
||||||
#
|
#
|
||||||
# Tune values for level and universal compaction.
|
# Tune values for level and universal compaction.
|
||||||
# For universal compaction, these level0_* options mean total sorted of runs in
|
# For universal compaction, these level0_* options mean total sorted of runs in
|
||||||
# LSM. In level-based compaction, it means number of L0 files.
|
# LSM. In level-based compaction, it means number of L0 files.
|
||||||
#
|
#
|
||||||
params_level_compact="$const_params \
|
params_level_compact="$const_params \
|
||||||
--max_background_jobs=16 \
|
--max_background_flushes=4 \
|
||||||
--max_write_buffer_number=4 \
|
--max_write_buffer_number=4 \
|
||||||
--level0_file_num_compaction_trigger=4 \
|
--level0_file_num_compaction_trigger=4 \
|
||||||
--level0_slowdown_writes_trigger=16 \
|
--level0_slowdown_writes_trigger=16 \
|
||||||
--level0_stop_writes_trigger=20"
|
--level0_stop_writes_trigger=20"
|
||||||
|
|
||||||
params_univ_compact="$const_params \
|
params_univ_compact="$const_params \
|
||||||
--max_background_jobs=20 \
|
--max_background_flushes=4 \
|
||||||
--max_write_buffer_number=4 \
|
--max_write_buffer_number=4 \
|
||||||
--level0_file_num_compaction_trigger=8 \
|
--level0_file_num_compaction_trigger=8 \
|
||||||
--level0_slowdown_writes_trigger=16 \
|
--level0_slowdown_writes_trigger=16 \
|
||||||
@ -232,7 +237,7 @@ function run_manual_compaction_worker {
|
|||||||
--memtablerep=vector \
|
--memtablerep=vector \
|
||||||
--allow_concurrent_memtable_write=false \
|
--allow_concurrent_memtable_write=false \
|
||||||
--disable_wal=1 \
|
--disable_wal=1 \
|
||||||
--max_background_jobs=$4 \
|
--max_background_compactions=$4 \
|
||||||
--seed=$( date +%s ) \
|
--seed=$( date +%s ) \
|
||||||
2>&1 | tee -a $fillrandom_output_file"
|
2>&1 | tee -a $fillrandom_output_file"
|
||||||
|
|
||||||
@ -276,7 +281,7 @@ function run_univ_compaction {
|
|||||||
|
|
||||||
# Define a set of benchmarks.
|
# Define a set of benchmarks.
|
||||||
subcompactions=(1 2 4 8 16)
|
subcompactions=(1 2 4 8 16)
|
||||||
max_background_jobs=(20 20 10 5 4)
|
max_background_compactions=(16 16 8 4 2)
|
||||||
|
|
||||||
i=0
|
i=0
|
||||||
total=${#subcompactions[@]}
|
total=${#subcompactions[@]}
|
||||||
@ -285,7 +290,7 @@ function run_univ_compaction {
|
|||||||
while [ "$i" -lt "$total" ]
|
while [ "$i" -lt "$total" ]
|
||||||
do
|
do
|
||||||
run_manual_compaction_worker $io_stats $compaction_style ${subcompactions[$i]} \
|
run_manual_compaction_worker $io_stats $compaction_style ${subcompactions[$i]} \
|
||||||
${max_background_jobs[$i]}
|
${max_background_compactions[$i]}
|
||||||
((i++))
|
((i++))
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@ -311,7 +316,7 @@ function run_fillseq {
|
|||||||
cmd="./db_bench --benchmarks=fillseq \
|
cmd="./db_bench --benchmarks=fillseq \
|
||||||
--use_existing_db=0 \
|
--use_existing_db=0 \
|
||||||
--sync=0 \
|
--sync=0 \
|
||||||
$params_w \
|
$params_fillseq \
|
||||||
--min_level_to_compress=0 \
|
--min_level_to_compress=0 \
|
||||||
--threads=1 \
|
--threads=1 \
|
||||||
--memtablerep=vector \
|
--memtablerep=vector \
|
||||||
@ -465,6 +470,12 @@ for job in ${jobs[@]}; do
|
|||||||
elif [ $job = fillseq_enable_wal ]; then
|
elif [ $job = fillseq_enable_wal ]; then
|
||||||
run_fillseq 0
|
run_fillseq 0
|
||||||
elif [ $job = overwrite ]; then
|
elif [ $job = overwrite ]; then
|
||||||
|
syncval="0"
|
||||||
|
params_w="$params_w \
|
||||||
|
--writes=125000000 \
|
||||||
|
--subcompactions=4 \
|
||||||
|
--soft_pending_compaction_bytes_limit=$((1 * T)) \
|
||||||
|
--hard_pending_compaction_bytes_limit=$((4 * T)) "
|
||||||
run_change overwrite
|
run_change overwrite
|
||||||
elif [ $job = updaterandom ]; then
|
elif [ $job = updaterandom ]; then
|
||||||
run_change updaterandom
|
run_change updaterandom
|
||||||
|
Loading…
Reference in New Issue
Block a user