Set --seed per test

Summary:
This is done to avoid having each thread use the same seed between runs
of db_bench. Without this we can inflate the OS filesystem cache hit rate on
reads for read heavy tests and generally see the same key sequences get generated
between teste runs.

Task ID: #

Blame Rev:

Test Plan:
Revert Plan:

Database Impact:

Memcache Impact:

Other Notes:

EImportant:

- begin *PUBLIC* platform impact section -
Bugzilla: #
- end platform impact -

Reviewers: igor

Reviewed By: igor

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D37563
main
Mark Callaghan 10 years ago
parent 618d07b068
commit 283a042969
  1. 8
      tools/benchmark.sh

@ -138,6 +138,7 @@ function run_bulkload {
--threads=1 \ --threads=1 \
--memtablerep=vector \ --memtablerep=vector \
--disable_wal=1 \ --disable_wal=1 \
--seed=$( date +%s ) \
2>&1 | tee -a $output_dir/benchmark_bulkload_fillrandom.log" 2>&1 | tee -a $output_dir/benchmark_bulkload_fillrandom.log"
echo $cmd | tee $output_dir/benchmark_bulkload_fillrandom.log echo $cmd | tee $output_dir/benchmark_bulkload_fillrandom.log
eval $cmd eval $cmd
@ -166,6 +167,7 @@ function run_fillseq {
--threads=1 \ --threads=1 \
--memtablerep=vector \ --memtablerep=vector \
--disable_wal=1 \ --disable_wal=1 \
--seed=$( date +%s ) \
2>&1 | tee -a $output_dir/benchmark_fillseq.v${value_size}.log" 2>&1 | tee -a $output_dir/benchmark_fillseq.v${value_size}.log"
echo $cmd | tee $output_dir/benchmark_fillseq.v${value_size}.log echo $cmd | tee $output_dir/benchmark_fillseq.v${value_size}.log
eval $cmd eval $cmd
@ -182,6 +184,7 @@ function run_change {
$params_w \ $params_w \
--threads=$num_threads \ --threads=$num_threads \
--merge_operator=\"put\" \ --merge_operator=\"put\" \
--seed=$( date +%s ) \
2>&1 | tee -a $output_dir/${out_name}" 2>&1 | tee -a $output_dir/${out_name}"
echo $cmd | tee $output_dir/${out_name} echo $cmd | tee $output_dir/${out_name}
eval $cmd eval $cmd
@ -195,6 +198,7 @@ function run_filluniquerandom {
--sync=0 \ --sync=0 \
$params_w \ $params_w \
--threads=1 \ --threads=1 \
--seed=$( date +%s ) \
2>&1 | tee -a $output_dir/benchmark_filluniquerandom.log" 2>&1 | tee -a $output_dir/benchmark_filluniquerandom.log"
echo $cmd | tee $output_dir/benchmark_filluniquerandom.log echo $cmd | tee $output_dir/benchmark_filluniquerandom.log
eval $cmd eval $cmd
@ -208,6 +212,7 @@ function run_readrandom {
--use_existing_db=1 \ --use_existing_db=1 \
$params_w \ $params_w \
--threads=$num_threads \ --threads=$num_threads \
--seed=$( date +%s ) \
2>&1 | tee -a $output_dir/${out_name}" 2>&1 | tee -a $output_dir/${out_name}"
echo $cmd | tee $output_dir/${out_name} echo $cmd | tee $output_dir/${out_name}
eval $cmd eval $cmd
@ -225,6 +230,7 @@ function run_readwhile {
--threads=$num_threads \ --threads=$num_threads \
--writes_per_second=$writes_per_second \ --writes_per_second=$writes_per_second \
--merge_operator=\"put\" \ --merge_operator=\"put\" \
--seed=$( date +%s ) \
2>&1 | tee -a $output_dir/${out_name}" 2>&1 | tee -a $output_dir/${out_name}"
echo $cmd | tee $output_dir/${out_name} echo $cmd | tee $output_dir/${out_name}
eval $cmd eval $cmd
@ -246,6 +252,7 @@ function run_rangewhile {
--merge_operator=\"put\" \ --merge_operator=\"put\" \
--seek_nexts=$num_nexts_per_seek \ --seek_nexts=$num_nexts_per_seek \
--reverse_iterator=$reverse_arg \ --reverse_iterator=$reverse_arg \
--seed=$( date +%s ) \
2>&1 | tee -a $output_dir/${out_name}" 2>&1 | tee -a $output_dir/${out_name}"
echo $cmd | tee $output_dir/${out_name} echo $cmd | tee $output_dir/${out_name}
eval $cmd eval $cmd
@ -263,6 +270,7 @@ function run_range {
--threads=$num_threads \ --threads=$num_threads \
--seek_nexts=$num_nexts_per_seek \ --seek_nexts=$num_nexts_per_seek \
--reverse_iterator=$reverse_arg \ --reverse_iterator=$reverse_arg \
--seed=$( date +%s ) \
2>&1 | tee -a $output_dir/${out_name}" 2>&1 | tee -a $output_dir/${out_name}"
echo $cmd | tee $output_dir/${out_name} echo $cmd | tee $output_dir/${out_name}
eval $cmd eval $cmd

Loading…
Cancel
Save