Skip to content

Instantly share code, notes, and snippets.

@concubidated
Last active October 13, 2015 09:58
Show Gist options
  • Save concubidated/4178446 to your computer and use it in GitHub Desktop.
Save concubidated/4178446 to your computer and use it in GitHub Desktop.
#!/bin/bash
results="smalliobench_results"
osds=`cat /etc/ceph/ceph.conf | grep -B1 \`hostname\` | grep osd | cut -d. -f2 | cut -d] -f1`
journals=`cat /etc/ceph/ceph.conf | grep -A1 \`hostname\` | grep journal | cut -d'/' -f3`
i=0
for journal in $journals
do
jour[$i]=$journal
let i++
done
duration="300"
if [ ! -d $results ]
then
mkdir $results
fi
subvolume_delete () {
data=$1
dirs=`ls -1 $data/`
for dir in $dirs
do
btrfs subvolume delete $data/$dir
done
}
#Drop caches
#while true; do echo 1 > /proc/sys/vm/drop_caches; sleep .4s; done &
#PID=$!
for size in 4096 10372 4194304
do
i='0'
for osd in $osds
do
data="/data/osd.$osd/test"
journal="/dev/"${jour[$i]}"/osd.$osd-journal"
if [ -d "$data" ]
then
subvolume_delete $data
rm -rf $data
fi
mkdir $data
touch $results/osd.${osd}_read_${size}
./smalliobenchfs --num-concurrent-ops 16 --io-size $size --object-size 4194304 --filestore-path $data --journal-path $journal --disable-detailed-ops=1 --filestore-op-threads=10 --write-ratio=0 --numobjects=2500 --duration=$duration >> $results/osd.${osd}_read_${size} &
let i++
done
wait
i='0'
for osd in $osds
do
data="/data/osd.$osd/test"
journal="/dev/"${jour[$i]}"/osd.$osd-journal"
if [ -d "$data" ]
then
subvolume_delete $data
rm -rf $data
fi
mkdir $data
touch $results/osd.${osd}_write_${size}
./smalliobenchfs --num-concurrent-ops 16 --io-size $size --object-size 4194304 --filestore-path $data --journal-path $journal --disable-detailed-ops=1 --filestore-op-threads=10 --duration=$duration --numobjects=2500 --write-ratio=1 >> $results/osd.${osd}_write_${size} &
let i++
done
wait
done
#Kill the cache killer
#kill $PID
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment