diff --git a/tools/benchmark.sh b/tools/benchmark.sh index bf9adc697..a37373b50 100755 --- a/tools/benchmark.sh +++ b/tools/benchmark.sh @@ -66,7 +66,7 @@ const_params=" --hard_rate_limit=3 \ --rate_limit_delay_max_milliseconds=1000000 \ --write_buffer_size=$((128 * M)) \ - --max_write_buffer_number=3 \ + --max_write_buffer_number=8 \ --target_file_size_base=$((128 * M)) \ --max_bytes_for_level_base=$((1 * G)) \ \ @@ -93,8 +93,8 @@ if [ $duration -gt 0 ]; then const_params="$const_params --duration=$duration" fi -params_w="$const_params $l0_config --max_background_compactions=16 --max_background_flushes=16" -params_bulkload="$const_params --max_background_compactions=16 --max_background_flushes=16 \ +params_w="$const_params $l0_config --max_background_compactions=16 --max_background_flushes=7" +params_bulkload="$const_params --max_background_compactions=16 --max_background_flushes=7 \ --level0_file_num_compaction_trigger=$((10 * M)) \ --level0_slowdown_writes_trigger=$((10 * M)) \ --level0_stop_writes_trigger=$((10 * M))" @@ -116,8 +116,10 @@ function summarize_result { usecs_op=$( grep ^${bench_name} $test_out | awk '{ printf "%.1f", $3 }' ) p50=$( grep "^Percentiles:" $test_out | awk '{ printf "%.1f", $3 }' ) p75=$( grep "^Percentiles:" $test_out | awk '{ printf "%.1f", $5 }' ) - p99=$( grep "^Percentiles:" $test_out | awk '{ printf "%.1f", $7 }' ) - echo -e "$ops_sec\t$mb_sec\t$lo_wgb\t$sum_wgb\t$wamp\t$wmb_ps\t$usecs_op\t$p50\t$p75\t$p99\t$uptime\t$stall_time\t$stall_pct\t$test_name" \ + p99=$( grep "^Percentiles:" $test_out | awk '{ printf "%.0f", $7 }' ) + p999=$( grep "^Percentiles:" $test_out | awk '{ printf "%.0f", $9 }' ) + p9999=$( grep "^Percentiles:" $test_out | awk '{ printf "%.0f", $11 }' ) + echo -e "$ops_sec\t$mb_sec\t$lo_wgb\t$sum_wgb\t$wamp\t$wmb_ps\t$usecs_op\t$p50\t$p75\t$p99\t$p999\t$p9999\t$uptime\t$stall_time\t$stall_pct\t$test_name" \ >> $output_dir/report.txt } @@ -151,6 +153,7 @@ function run_fillseq { --use_existing_db=0 \ --sync=0 \ $params_w \ + --min_level_to_compress=0 \ --threads=1 \ 2>&1 | tee -a $output_dir/benchmark_fillseq.log" echo $cmd | tee $output_dir/benchmark_fillseq.log @@ -316,7 +319,7 @@ for job in ${jobs[@]}; do echo "Complete $job in $((end-start)) seconds" | tee -a $schedule fi - echo -e "ops/sec\tmb/sec\tL0_MB\tSum_GB\tW-Amp\tW-MB/s\tusec/op\tp50\tp75\tp99\tUptime\tStall-time\tStall%\tTest" + echo -e "ops/sec\tmb/sec\tL0_MB\tSum_GB\tW-Amp\tW-MB/s\tusec/op\tp50\tp75\tp99\tp99.9\tp99.99\tUptime\tStall-time\tStall%\tTest" tail -1 $output_dir/report.txt done diff --git a/tools/run_flash_bench.sh b/tools/run_flash_bench.sh index 224e1f6f0..6e288c653 100755 --- a/tools/run_flash_bench.sh +++ b/tools/run_flash_bench.sh @@ -91,7 +91,7 @@ VALUE_SIZE=$vs \ CACHE_SIZE=$cs" mkdir -p $output_dir -echo -e "ops/sec\tmb/sec\tL0_GB\tSum_GB\tW-Amp\tW-MB/s\tusec/op\tp50\tp75\tp99\tUptime\tStall-time\tStall%\tTest" \ +echo -e "ops/sec\tmb/sec\tL0_GB\tSum_GB\tW-Amp\tW-MB/s\tusec/op\tp50\tp75\tp99\tp99.9\tp99.99\tUptime\tStall-time\tStall%\tTest" \ > $output_dir/report.txt # Notes on test sequence: @@ -219,4 +219,56 @@ for num_thr in "${nthreads[@]}" ; do NUM_NEXTS_PER_SEEK=$nps ./tools/benchmark.sh revrangewhilemerging done -cat $output_dir/report.txt +echo bulkload > $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep bulkload $output_dir/report.txt >> $output_dir/report2.txt +echo fillseq >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep fillseq $output_dir/report.txt >> $output_dir/report2.txt +echo overwrite sync=0 >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep overwrite $output_dir/report.txt | grep \.s0 >> $output_dir/report2.txt +echo overwrite sync=1 >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep overwrite $output_dir/report.txt | grep \.s1 >> $output_dir/report2.txt +echo updaterandom sync=0 >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep updaterandom $output_dir/report.txt | grep \.s0 >> $output_dir/report2.txt +echo updaterandom sync=1 >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep updaterandom $output_dir/report.txt | grep \.s1 >> $output_dir/report2.txt +echo mergerandom sync=0 >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep mergerandom $output_dir/report.txt | grep \.s0 >> $output_dir/report2.txt +echo mergerandom sync=1 >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep mergerandom $output_dir/report.txt | grep \.s1 >> $output_dir/report2.txt +echo readrandom >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep readrandom $output_dir/report.txt >> $output_dir/report2.txt +echo fwdrange >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep fwdrange\.t $output_dir/report.txt >> $output_dir/report2.txt +echo revrange >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep revrange\.t $output_dir/report.txt >> $output_dir/report2.txt +echo readwhile >> $output_dir/report2.txt >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep readwhilewriting $output_dir/report.txt >> $output_dir/report2.txt +echo readwhile >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep readwhilemerging $output_dir/report.txt >> $output_dir/report2.txt +echo fwdreadwhilewriting >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep fwdrangewhilewriting $output_dir/report.txt >> $output_dir/report2.txt +echo fwdreadwhilemerging >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep fwdrangewhilemerg $output_dir/report.txt >> $output_dir/report2.txt +echo revreadwhilewriting >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep revrangewhilewriting $output_dir/report.txt >> $output_dir/report2.txt +echo revreadwhilemerging >> $output_dir/report2.txt +head -1 $output_dir/report.txt >> $output_dir/report2.txt +grep revrangewhilemerg $output_dir/report.txt >> $output_dir/report2.txt + +cat $output_dir/report2.txt