#!/bin/bash # # Prepare a file system for a benchmark run by creating any needed files or # directories. # Defaults SERVER=vrable2.sysnet.ucsd.edu MNTDIR=/mnt/bluesky BENCH_FILESIZE=$((1 << 12)) BENCH_FILECOUNT=$((8)) BENCH_WRITERATIO=1.0 BENCH_THREADS=8 BENCH_DURATION=120 BENCH_OPS=100 BENCH_INTERVALS=4 BENCH_DIRSIZE=256 # Export any environment variables specified on the command line for e in "$@"; do echo "$e" 1>&2 if echo "$e" | grep = >/dev/null; then eval "$e" export ${e%=*} fi done # Prepare to run the benchmark mount -t nfs -o vers=3,tcp,rw,soft,intr $SERVER:/export $MNTDIR pushd $MNTDIR >/dev/null mkdir $(seq 0 $(($BENCH_FILECOUNT / $BENCH_DIRSIZE))) for i in $(seq 0 $(($BENCH_FILECOUNT - 1))); do n1=$(($i / $BENCH_DIRSIZE)) n2=$(($i % $BENCH_DIRSIZE)) dd if=/dev/zero of=$n1/$n2 bs=$BENCH_FILESIZE count=1 done find -type f -exec sha1sum '{}' \; popd >/dev/null umount -f $MNTDIR