Skip to content

Commit 8bd87f6

Browse files
committed
added essential benchmark and scripts
Former-commit-id: 032009d92a8d36ec87758e7eda756eb68f703441
1 parent e0cc800 commit 8bd87f6

File tree

100 files changed

+38695
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+38695
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#!/bin/bash
2+
3+
logpath=/home/ncsgroup/shb118/benchmark/benchmark.log
4+
5+
if [ $# -ne 5 ]
6+
then
7+
echo '[USAGE] ./benchmark_branch.sh [branchName] [minOsdNum] [maxOsdNum] [minClientNum] [maxClientNum]'
8+
exit
9+
fi
10+
11+
branchName=$1
12+
minOsdNum=$2
13+
maxOsdNum=$3
14+
minClientNum=$4
15+
maxClientNum=$5
16+
osdBase=23
17+
benchmark="IOZONE_4M_RESERVE"
18+
19+
for ((osdNum=$minOsdNum; osdNum<=$maxOsdNum; osdNum=osdNum+1))
20+
do
21+
for ((fuseNum=$minClientNum; fuseNum<=$maxClientNum; fuseNum=fuseNum+1))
22+
do
23+
## PREPARE LOG ##
24+
rm ../ncvfs_log/*
25+
logdir="../benchmark_result/$benchmark/$branchName/$osdNum.$fuseNum"
26+
echo "$(date): $logdir" >> $logpath
27+
28+
(
29+
echo "$(date): $osdNum, $fuseNum" >> $logpath
30+
31+
## START NCVFS ##
32+
cd ../ncvfs/script
33+
./stopncvfs.sh
34+
./clearmongo.sh
35+
./init_disks.sh
36+
./runncvfs.sh $osdNum
37+
sleep 3
38+
./mountfuse.sh $fuseNum
39+
40+
./drop_cache.sh
41+
# upload
42+
./start_ifstat.sh ; sleep 3
43+
echo "$(date): start upload $branchName $osdNum $fuseNum $options" >> $logpath
44+
./upload_file_thp.sh $fuseNum
45+
echo "$(date): end upload $branchName $osdNum $fuseNum $options" >> $logpath
46+
./stop_ifstat.sh "UPLOAD"
47+
48+
./drop_cache.sh
49+
./do_filefrag.sh "UPLOAD"
50+
51+
### IOZONE WITHOUT BG JOB##
52+
./start_ifstat.sh ; sleep 3
53+
options="-Ra -i 2 -s 2g -r 128k -w -O -e -c"
54+
echo "$(date): start iozone $branchName $osdNum $fuseNum $options" >> $logpath
55+
./iozone_test_thp.sh $fuseNum 10 "$options"
56+
echo "$(date): end iozone $branchName $osdNum $fuseNum $options" >> $logpath
57+
./stop_ifstat.sh "IOZONE"
58+
59+
./drop_cache.sh
60+
./do_filefrag.sh "UPDATE"
61+
62+
# download
63+
./start_ifstat.sh ; sleep 3
64+
echo "$(date): start download $branchName $osdNum $fuseNum" >> $logpath
65+
./download_file_thp.sh $fuseNum 0
66+
echo "$(date): end download $branchName $osdNum $fuseNum" >> $logpath
67+
./stop_ifstat.sh "DOWNLOAD"
68+
69+
./drop_cache.sh
70+
71+
sleep 3
72+
#### KILL FIRST OSD ###
73+
./kill_osd.sh $((osdNum+osdBase))
74+
75+
#### KILL SECOND OSD ###
76+
./kill_osd.sh $((osdNum+osdBase-1))
77+
78+
79+
#### RECOVERY ###
80+
killNum=2
81+
./start_ifstat.sh ; sleep 3
82+
echo "$(date): start recovery $branchName $osdNum $fuseNum" >> $logpath
83+
./recovery.sh $fuseNum $killNum
84+
echo "$(date): end recovery $branchName $osdNum $fuseNum" >> $logpath
85+
./stop_ifstat.sh "RECOVERY"
86+
)
87+
88+
## MOVE LOGS ##
89+
mkdir -p $logdir
90+
rm $logdir/*
91+
mv ../ncvfs_log/* $logdir
92+
cp $logpath $logdir
93+
cp ~/shb118/ncvfs/trunk/*.xml $logdir
94+
cp ~/shb118/ncvfs/trunk/src/common/define.hh $logdir
95+
done
96+
done
97+
98+
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#!/bin/bash
2+
3+
logpath=/home/ncsgroup/shb118/benchmark/benchmark.log
4+
5+
if [ $# -ne 6 ]
6+
then
7+
echo '[USAGE] ./benchmark_branch.sh [branchName] [minOsdNum] [maxOsdNum] [minClientNum] [maxClientNum]'
8+
exit
9+
fi
10+
11+
branchName=$1
12+
minOsdNum=$2
13+
maxOsdNum=$3
14+
minClientNum=$4
15+
maxClientNum=$5
16+
osdBase=24
17+
benchmark="IOZONE_LATENCY_32K_10_10_FSYNC_CAUCHY_ODIRECT"
18+
19+
echo $1 $2 $3 $4 $5
20+
rm /tmp/update_single.log
21+
22+
for ((osdNum=$minOsdNum; osdNum<=$maxOsdNum; osdNum=osdNum+1))
23+
do
24+
for ((fuseNum=$minClientNum; fuseNum<=$maxClientNum; fuseNum=fuseNum+1))
25+
do
26+
## PREPARE LOG ##
27+
rm ../ncvfs_log/*
28+
logdir="../benchmark_result/$benchmark/$branchName/$osdNum.$fuseNum"
29+
echo "$(date): $logdir" >> $logpath
30+
31+
(
32+
echo "$(date): $osdNum, $fuseNum" >> $logpath
33+
34+
## START NCVFS ##
35+
cd ../ncvfs/script
36+
./stopncvfs.sh
37+
./clearmongo.sh
38+
./init_disks.sh
39+
./runncvfs.sh $osdNum
40+
sleep 3
41+
./mountfuse.sh $fuseNum
42+
43+
./drop_cache.sh
44+
45+
# upload
46+
echo "$(date): start upload $branchName $osdNum $fuseNum $options" >> $logpath
47+
./upload_file_thp.sh $fuseNum 128 ################ upload 2GB
48+
echo "$(date): end upload $branchName $osdNum $fuseNum $options" >> $logpath
49+
50+
./drop_cache.sh
51+
./collect_latency.sh "UPLOAD" $osdNum
52+
53+
### IOZONE WITHOUT BG JOB##
54+
options="-Ra -i 2 -s 2g -r 32k -w -O -e -c"
55+
echo "$(date): start iozone $branchName $osdNum $fuseNum $options" >> $logpath
56+
./iozone_test_thp.sh $fuseNum 10 "$options"
57+
echo "$(date): end iozone $branchName $osdNum $fuseNum $options" >> $logpath
58+
59+
./collect_latency.sh "UPDATE" $osdNum
60+
)
61+
62+
## MOVE LOGS ##
63+
mkdir -p $logdir
64+
rm $logdir/*
65+
mv ../ncvfs_log/* $logdir
66+
cp $logpath $logdir
67+
cp ~/shb118/ncvfs/trunk/*.xml $logdir
68+
cp ~/shb118/ncvfs/trunk/src/common/define.hh $logdir
69+
mv /tmp/update_single.log $logdir
70+
done
71+
done
72+
73+
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
#!/bin/bash
2+
3+
logpath=/home/ncsgroup/shb118/benchmark/benchmark.log
4+
5+
if [ $# -ne 5 ]
6+
then
7+
echo '[USAGE] ./benchmark_branch.sh [branchName] [minOsdNum] [maxOsdNum] [minClientNum] [maxClientNum]'
8+
exit
9+
fi
10+
11+
branchName=$1
12+
minOsdNum=$2
13+
maxOsdNum=$3
14+
minClientNum=$4
15+
maxClientNum=$5
16+
osdBase=23
17+
benchmark="IOZONE_RESERVE_OVERHEAD_DEC30"
18+
19+
echo $1 $2 $3 $4 $5
20+
21+
for ((osdNum=$minOsdNum; osdNum<=$maxOsdNum; osdNum=osdNum+1))
22+
do
23+
for ((fuseNum=$minClientNum; fuseNum<=$maxClientNum; fuseNum=fuseNum+1))
24+
do
25+
## PREPARE LOG ##
26+
rm ../ncvfs_log/*
27+
logdir="../benchmark_result/$benchmark/$branchName/$osdNum.$fuseNum"
28+
echo "$(date): $logdir" >> $logpath
29+
30+
(
31+
echo "$(date): $osdNum, $fuseNum" >> $logpath
32+
33+
## START NCVFS ##
34+
cd ../ncvfs/script
35+
./stopncvfs.sh
36+
./clearmongo.sh
37+
./init_disks.sh
38+
./runncvfs.sh $osdNum
39+
sleep 3
40+
./mountfuse.sh $fuseNum
41+
42+
./drop_cache.sh
43+
44+
# upload
45+
./start_ifstat.sh ; sleep 3
46+
echo "$(date): start upload $branchName $osdNum $fuseNum $options" >> $logpath
47+
./upload_file_thp.sh $fuseNum
48+
echo "$(date): end upload $branchName $osdNum $fuseNum $options" >> $logpath
49+
./stop_ifstat.sh "UPLOAD"
50+
51+
./drop_cache.sh
52+
#./do_filefrag.sh "UPLOAD"
53+
54+
### IOZONE WITHOUT BG JOB##
55+
./start_ifstat.sh ; sleep 3
56+
options="-Ra -i 2 -s 2g -r 128k -w -O -e -c"
57+
echo "$(date): start iozone $branchName $osdNum $fuseNum $options" >> $logpath
58+
./iozone_test_thp.sh $fuseNum 10 "$options"
59+
echo "$(date): end iozone $branchName $osdNum $fuseNum $options" >> $logpath
60+
./stop_ifstat.sh "IOZONE"
61+
62+
./drop_cache.sh
63+
#./do_filefrag.sh "UPDATE"
64+
65+
# download
66+
#./start_ifstat.sh ; sleep 3
67+
#echo "$(date): start download $branchName $osdNum $fuseNum" >> $logpath
68+
#./download_file_thp.sh $fuseNum 0
69+
#echo "$(date): end download $branchName $osdNum $fuseNum" >> $logpath
70+
#./stop_ifstat.sh "DOWNLOAD"
71+
72+
#./drop_cache.sh
73+
74+
#sleep 3
75+
#### KILL FIRST OSD ###
76+
./kill_osd.sh $((osdNum+osdBase))
77+
78+
#### KILL SECOND OSD ###
79+
./kill_osd.sh $((osdNum+osdBase-1))
80+
81+
82+
#### RECOVERY ###
83+
killNum=2
84+
./start_ifstat.sh ; sleep 3
85+
echo "$(date): start recovery $branchName $osdNum $fuseNum" >> $logpath
86+
./recovery.sh $fuseNum $killNum
87+
echo "$(date): end recovery $branchName $osdNum $fuseNum" >> $logpath
88+
./stop_ifstat.sh "RECOVERY"
89+
)
90+
91+
## MOVE LOGS ##
92+
mkdir -p $logdir
93+
rm $logdir/*
94+
mv ../ncvfs_log/* $logdir
95+
cp $logpath $logdir
96+
cp ~/shb118/ncvfs/trunk/*.xml $logdir
97+
cp ~/shb118/ncvfs/trunk/src/common/define.hh $logdir
98+
done
99+
done
100+
101+
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#!/bin/bash
2+
3+
logpath=/home/ncsgroup/shb118/benchmark/benchmark.log
4+
5+
if [ $# -ne 7 ]
6+
then
7+
echo '[USAGE] ./benchmark_branch.sh [branchName] [minOsdNum] [maxOsdNum] [minClientNum] [maxClientNum]'
8+
exit
9+
fi
10+
11+
branchName=$1
12+
minOsdNum=$2
13+
maxOsdNum=$3
14+
minClientNum=$4
15+
maxClientNum=$5
16+
reservesize=$6
17+
osdBase=24
18+
benchmark="LATENCY_SINGLE_MERGE_CAUCHY_4G"
19+
20+
echo $1 $2 $3 $4 $5
21+
rm /tmp/update_single.log
22+
23+
for ((osdNum=$minOsdNum; osdNum<=$maxOsdNum; osdNum=osdNum+1))
24+
do
25+
for ((fuseNum=$minClientNum; fuseNum<=$maxClientNum; fuseNum=fuseNum+1))
26+
do
27+
## PREPARE LOG ##
28+
rm ../ncvfs_log/*
29+
logdir="../benchmark_result/$benchmark/$branchName/$osdNum.$fuseNum"
30+
echo "$(date): $logdir" >> $logpath
31+
32+
(
33+
echo "$(date): $osdNum, $fuseNum" >> $logpath
34+
35+
## START NCVFS ##
36+
cd ../ncvfs/script
37+
./stopncvfs.sh
38+
./clearmongo.sh
39+
./init_disks.sh
40+
./runncvfs.sh $osdNum
41+
sleep 3
42+
./mountfuse.sh $fuseNum
43+
44+
./fill_disk.sh $osdNum 46080
45+
./drop_cache.sh
46+
47+
# upload
48+
echo "$(date): start upload $branchName $osdNum $fuseNum $options" >> $logpath
49+
./upload_file_thp.sh $fuseNum 256
50+
echo "$(date): end upload $branchName $osdNum $fuseNum $options" >> $logpath
51+
52+
./drop_cache.sh
53+
./collect_latency.sh "UPLOAD" $osdNum
54+
55+
# fill reserve
56+
for (( i=0; i<256; i++ ))
57+
do
58+
segsize=16777216
59+
bs=$((segsize/4)) #### chunk size
60+
seek=$((i*segsize/bs))
61+
count=$((reservesize/bs))
62+
./update_file_single.sh $seek $bs $count $fuseNum
63+
echo "FILL: $i"
64+
done
65+
66+
./drop_cache.sh
67+
./collect_latency.sh "FILL" $osdNum
68+
69+
# normal update
70+
rm /tmp/update
71+
for (( i=0; i<256; i++ ))
72+
do
73+
segsize=16777216
74+
bs=4096
75+
seek=$((i*segsize/bs))
76+
count=1
77+
echo $seek $bs $count >> /tmp/update
78+
done
79+
80+
sort -R --random-source=/dev/zero /tmp/update > /tmp/update.random
81+
#cat /tmp/update.random | xargs -L1 -I{} sh -c "./update_file_single.sh {} $fuseNum; ./drop_latency_osd_cache.sh"
82+
cat /tmp/update.random | xargs -L1 -I{} sh -c "./update_file_single.sh {} $fuseNum;"
83+
84+
./collect_latency.sh "UPDATE_$j" $osdNum
85+
)
86+
87+
## MOVE LOGS ##
88+
mkdir -p $logdir
89+
rm $logdir/*
90+
mv ../ncvfs_log/* $logdir
91+
cp $logpath $logdir
92+
cp ~/shb118/ncvfs/trunk/*.xml $logdir
93+
cp ~/shb118/ncvfs/trunk/src/common/define.hh $logdir
94+
mv /tmp/update_single.log $logdir
95+
done
96+
done
97+
98+

0 commit comments

Comments
 (0)