X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fsanity-benchmark.sh;h=ca97c75f7ce3043edab45e4bda04c6a97775f12c;hb=d571fd9b51d6819d58e89337b0a45ea0edb4f778;hp=cfce8761bfdba83bb24b7adccac8ec904c3b0b5c;hpb=1d8a6a2525fa786a1bf03d6e77a0522b5a0f6304;p=fs%2Flustre-release.git diff --git a/lustre/tests/sanity-benchmark.sh b/lustre/tests/sanity-benchmark.sh index cfce876..ca97c75 100644 --- a/lustre/tests/sanity-benchmark.sh +++ b/lustre/tests/sanity-benchmark.sh @@ -6,10 +6,13 @@ set -e +ONLY=${ONLY:-"$*"} + LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)} . $LUSTRE/tests/test-framework.sh init_test_env $@ . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} +init_logging MAX_THREADS=${MAX_THREADS:-20} RAMKB=`awk '/MemTotal:/ { print $2 }' /proc/meminfo` @@ -48,7 +51,7 @@ test_dbench() { return fi - DBENCHDIR=$MOUNT/d0.$HOSTNAME + local DBENCHDIR=$DIR/d0.$HOSTNAME mkdir -p $DBENCHDIR local SPACE=`df -P $MOUNT | tail -n 1 | awk '{ print $4 }'` DB_THREADS=$((SPACE / 50000)) @@ -56,9 +59,11 @@ test_dbench() { $DEBUG_OFF myUID=$RUNAS_ID + myGID=$RUNAS_GID myRUNAS=$RUNAS - FAIL_ON_ERROR=false check_runas_id_ret $myUID $myUID $myRUNAS || { myRUNAS="" && myUID=$UID; } - chown $myUID:$myUID $DBENCHDIR + FAIL_ON_ERROR=false check_runas_id_ret $myUID $myGID $myRUNAS || \ + { myRUNAS="" && myUID=$UID && myGID=`id -g $USER`; } + chown $myUID:$myGID $DBENCHDIR local duration="" [ "$SLOW" = "no" ] && duration=" -t 120" if [ "$SLOW" != "no" -o $DB_THREADS -eq 1 ]; then @@ -79,7 +84,7 @@ test_bonnie() { skip_env "No bonnie++ installed" return 0 fi - BONDIR=$MOUNT/d0.bonnie + local BONDIR=$DIR/d0.bonnie mkdir -p $BONDIR $LFS setstripe -c -1 $BONDIR sync @@ -89,10 +94,12 @@ test_bonnie() { log "min OST has ${MIN}kB available, using ${SIZE}kB file size" $DEBUG_OFF myUID=$RUNAS_ID + myGID=$RUNAS_GID myRUNAS=$RUNAS - FAIL_ON_ERROR=false check_runas_id_ret $myUID $myUID $myRUNAS || { myRUNAS="" && myUID=$UID; } - chown $myUID:$myUID $BONDIR - $myRUNAS bonnie++ -f -r 0 -s$((SIZE / 1024)) -n 10 -u$myUID:$myUID -d$BONDIR + FAIL_ON_ERROR=false check_runas_id_ret $myUID $myGID $myRUNAS || \ + { myRUNAS="" && myUID=$UID && myGID=`id -$USER`; } + chown $myUID:$myGID $BONDIR + $myRUNAS bonnie++ -f -r 0 -s$((SIZE / 1024)) -n 10 -u$myUID:$myGID -d$BONDIR $DEBUG_ON } run_test bonnie "bonnie++" @@ -105,7 +112,7 @@ test_iozone() { export O_DIRECT - IOZDIR=$MOUNT/d0.iozone + local IOZDIR=$DIR/d0.iozone mkdir -p $IOZDIR $LFS setstripe -c -1 $IOZDIR sync @@ -119,9 +126,11 @@ test_iozone() { # $SPACE was calculated with all OSTs $DEBUG_OFF myUID=$RUNAS_ID + myGID=$RUNAS_GID myRUNAS=$RUNAS - FAIL_ON_ERROR=false check_runas_id_ret $myUID $myUID $myRUNAS || { myRUNAS="" && myUID=$UID; } - chown $myUID:$myUID $IOZDIR + FAIL_ON_ERROR=false check_runas_id_ret $myUID $myGID $myRUNAS || \ + { myRUNAS="" && myUID=$UID && myGID=`id -g $USER`; } + chown $myUID:$myGID $IOZDIR $myRUNAS iozone $IOZONE_OPTS -s $SIZE -f $IOZFILE 2>&1 | tee $IOZLOG tail -1 $IOZLOG | grep -q complete || \ { error "iozone (1) failed" && return 1; } @@ -130,12 +139,12 @@ test_iozone() { # check if O_DIRECT support is implemented in kernel if [ -z "$O_DIRECT" ]; then - touch $MOUNT/f.iozone - if ! ./directio write $MOUNT/f.iozone 0 1; then + touch $DIR/f.iozone + if ! ./directio write $DIR/f.iozone 0 1; then log "SKIP iozone DIRECT IO test" O_DIRECT=no fi - rm -f $MOUNT/f.iozone + rm -f $DIR/f.iozone fi if [ "$O_DIRECT" != "no" -a "$IOZONE_DIR" != "no" ]; then $DEBUG_OFF @@ -172,17 +181,18 @@ test_iozone() { run_test iozone "iozone" test_fsx() { + local testfile=$DIR/f0.fsxfile FSX_SIZE=$SIZE FSX_COUNT=1000 local SPACE=`df -P $MOUNT | tail -n 1 | awk '{ print $4 }'` [ $SPACE -lt $FSX_SIZE ] && FSX_SIZE=$((SPACE * 3 / 4)) $DEBUG_OFF FSX_SEED=${FSX_SEED:-$RANDOM} - rm -f $MOUNT/fsxfile - $LFS setstripe -c -1 $MOUNT/fsxfile + rm -f $testfile + $LFS setstripe -c -1 $testfile echo Using FSX_SEED=$FSX_SEED FSX_SIZE=$FSX_SIZE FSX_COUNT=$FSX_COUNT fsx -c 50 -p 1000 -S $FSX_SEED -P $TMP -l $FSX_SIZE \ - -N $(($FSX_COUNT * 100)) $MOUNT/fsxfile + -N $(($FSX_COUNT * 100)) $DIR/fsxfile $DEBUG_ON } run_test fsx "fsx"