]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | #!/usr/bin/env bash |
2 | ||
11fdf7f2 TL |
3 | set -ex |
4 | ||
5 | run_step() { | |
6 | if [ -z "$1" ]; then | |
7 | echo run_step called with no parameter | |
8 | exit 1 | |
9 | fi | |
10 | ||
11 | echo "--spdk=$ROCKSDB_CONF" >> "$1"_flags.txt | |
12 | echo "--spdk_bdev=Nvme0n1" >> "$1"_flags.txt | |
13 | echo "--spdk_cache_size=$CACHE_SIZE" >> "$1"_flags.txt | |
14 | ||
15 | echo -n Start $1 test phase... | |
16 | /usr/bin/time taskset 0xFF $DB_BENCH --flagfile="$1"_flags.txt &> "$1"_db_bench.txt | |
17 | echo done. | |
18 | } | |
19 | ||
20 | run_bsdump() { | |
21 | $rootdir/examples/blob/cli/blobcli -c $ROCKSDB_CONF -b Nvme0n1 -D &> bsdump.txt | |
22 | } | |
23 | ||
7c673cae FG |
24 | testdir=$(readlink -f $(dirname $0)) |
25 | rootdir=$(readlink -f $testdir/../../..) | |
11fdf7f2 | 26 | source $rootdir/test/common/autotest_common.sh |
7c673cae FG |
27 | |
28 | DB_BENCH_DIR=/usr/src/rocksdb | |
29 | DB_BENCH=$DB_BENCH_DIR/db_bench | |
30 | ROCKSDB_CONF=$testdir/rocksdb.conf | |
31 | ||
32 | if [ ! -e $DB_BENCH_DIR ]; then | |
33 | echo $DB_BENCH_DIR does not exist, skipping rocksdb tests | |
34 | exit 0 | |
35 | fi | |
36 | ||
37 | timing_enter rocksdb | |
38 | ||
39 | timing_enter db_bench_build | |
40 | ||
41 | pushd $DB_BENCH_DIR | |
11fdf7f2 TL |
42 | git clean -x -f -d |
43 | $MAKE db_bench $MAKEFLAGS $MAKECONFIG DEBUG_LEVEL=0 SPDK_DIR=$rootdir | |
7c673cae FG |
44 | popd |
45 | ||
46 | timing_exit db_bench_build | |
47 | ||
11fdf7f2 TL |
48 | $rootdir/scripts/gen_nvme.sh > $ROCKSDB_CONF |
49 | ||
50 | trap 'run_bsdump; rm -f $ROCKSDB_CONF; exit 1' SIGINT SIGTERM EXIT | |
51 | ||
52 | timing_enter mkfs | |
53 | $rootdir/test/blobfs/mkfs/mkfs $ROCKSDB_CONF Nvme0n1 | |
54 | timing_exit mkfs | |
7c673cae | 55 | |
7c673cae | 56 | mkdir $output_dir/rocksdb |
11fdf7f2 TL |
57 | RESULTS_DIR=$output_dir/rocksdb |
58 | CACHE_SIZE=4096 | |
59 | if [ $RUN_NIGHTLY_FAILING -eq 1 ]; then | |
60 | DURATION=60 | |
61 | NUM_KEYS=100000000 | |
62 | else | |
63 | DURATION=20 | |
64 | NUM_KEYS=20000000 | |
65 | fi | |
66 | ||
67 | cd $RESULTS_DIR | |
68 | cp $testdir/common_flags.txt insert_flags.txt | |
69 | echo "--benchmarks=fillseq" >> insert_flags.txt | |
70 | echo "--threads=1" >> insert_flags.txt | |
71 | echo "--disable_wal=1" >> insert_flags.txt | |
72 | echo "--use_existing_db=0" >> insert_flags.txt | |
73 | echo "--num=$NUM_KEYS" >> insert_flags.txt | |
74 | ||
75 | cp $testdir/common_flags.txt randread_flags.txt | |
76 | echo "--benchmarks=readrandom" >> randread_flags.txt | |
77 | echo "--threads=16" >> randread_flags.txt | |
78 | echo "--duration=$DURATION" >> randread_flags.txt | |
79 | echo "--disable_wal=1" >> randread_flags.txt | |
80 | echo "--use_existing_db=1" >> randread_flags.txt | |
81 | echo "--num=$NUM_KEYS" >> randread_flags.txt | |
82 | ||
83 | cp $testdir/common_flags.txt overwrite_flags.txt | |
84 | echo "--benchmarks=overwrite" >> overwrite_flags.txt | |
85 | echo "--threads=1" >> overwrite_flags.txt | |
86 | echo "--duration=$DURATION" >> overwrite_flags.txt | |
87 | echo "--disable_wal=1" >> overwrite_flags.txt | |
88 | echo "--use_existing_db=1" >> overwrite_flags.txt | |
89 | echo "--num=$NUM_KEYS" >> overwrite_flags.txt | |
90 | ||
91 | cp $testdir/common_flags.txt readwrite_flags.txt | |
92 | echo "--benchmarks=readwhilewriting" >> readwrite_flags.txt | |
93 | echo "--threads=4" >> readwrite_flags.txt | |
94 | echo "--duration=$DURATION" >> readwrite_flags.txt | |
95 | echo "--disable_wal=1" >> readwrite_flags.txt | |
96 | echo "--use_existing_db=1" >> readwrite_flags.txt | |
97 | echo "--num=$NUM_KEYS" >> readwrite_flags.txt | |
98 | ||
99 | cp $testdir/common_flags.txt writesync_flags.txt | |
100 | echo "--benchmarks=overwrite" >> writesync_flags.txt | |
101 | echo "--threads=1" >> writesync_flags.txt | |
102 | echo "--duration=$DURATION" >> writesync_flags.txt | |
103 | echo "--disable_wal=0" >> writesync_flags.txt | |
104 | echo "--use_existing_db=1" >> writesync_flags.txt | |
105 | echo "--sync=1" >> writesync_flags.txt | |
106 | echo "--num=$NUM_KEYS" >> writesync_flags.txt | |
107 | ||
108 | timing_enter rocksdb_insert | |
109 | run_step insert | |
110 | timing_exit rocksdb_insert | |
111 | ||
112 | timing_enter rocksdb_overwrite | |
113 | run_step overwrite | |
114 | timing_exit rocksdb_overwrite | |
115 | ||
116 | timing_enter rocksdb_readwrite | |
117 | run_step readwrite | |
118 | timing_exit rocksdb_readwrite | |
119 | ||
120 | timing_enter rocksdb_writesync | |
121 | run_step writesync | |
122 | timing_exit rocksdb_writesync | |
7c673cae | 123 | |
11fdf7f2 TL |
124 | timing_enter rocksdb_randread |
125 | run_step randread | |
126 | timing_exit rocksdb_randread | |
7c673cae FG |
127 | |
128 | trap - SIGINT SIGTERM EXIT | |
129 | ||
11fdf7f2 | 130 | run_bsdump |
7c673cae FG |
131 | rm -f $ROCKSDB_CONF |
132 | ||
11fdf7f2 | 133 | report_test_completion "blobfs" |
7c673cae | 134 | timing_exit rocksdb |