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