Skip to content
Snippets Groups Projects
Commit 49c0a537 authored by huanghua's avatar huanghua
Browse files

Merge b1_8_x_recov from b1_8_gate (20080805_0105)

b=11824
parent 387e9a7c
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
#
# This test was used in a set of CMD3 tests (cmd3-4 test).
LUSTRE=${LUSTRE:-`dirname $0`/..}
. $LUSTRE/tests/test-framework.sh
init_test_env $@
. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
assert_env CLIENTS MDSRATE SINGLECLIENT MPIRUN
MACHINEFILE=${MACHINEFILE:-$(basename $0 .sh).machines}
TESTDIR=$MOUNT
# Requirements
TIME_PERIOD=${TIME_PERIOD:-600} # seconds
SINGLE_TARGET_RATE=$((1300 / OSTCOUNT)) # ops/sec
AGGREGATE_TARGET_RATE=$((7000 / OSTCOUNT)) # ops/sec
# Local test variables
TESTDIR_SINGLE="${TESTDIR}/single"
TESTDIR_MULTI="${TESTDIR}/multi"
LOG=${TESTSUITELOG:-$TMP/$(basename $0 .sh).log}
CLIENT=$SINGLECLIENT
NODES_TO_USE=${NODES_TO_USE:-$CLIENTS}
NUM_CLIENTS=$(get_node_count ${NODES_TO_USE//,/ })
[ ! -x ${MDSRATE} ] && error "${MDSRATE} not built."
log "===== $0 ====== "
check_and_setup_lustre
generate_machine_file $NODES_TO_USE $MACHINEFILE
$LFS setstripe $TESTDIR -c -1
get_stripe $TESTDIR
# Make sure we start with a clean slate
rm -f ${LOG} PI*
if [ -n "$NOSINGLE" ]; then
echo "NO Test for creates for a single client."
else
log "===== $0 ### 1 NODE CREATE ###"
echo "Running creates on 1 node(s)."
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --time ${TIME_PERIOD}
--dir ${TESTDIR_SINGLE} --filefmt 'f%%d'"
echo "+ ${COMMAND}"
$MPIRUN -np 1 -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate create ${SINGLE_TARGET_RATE} 1 ${LOG} || true
log "===== $0 ### 1 NODE UNLINK ###"
echo "Running unlinks on 1 node(s)."
let NUM_FILES=${SINGLE_TARGET_RATE}\*${TIME_PERIOD}
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --unlink --time ${TIME_PERIOD}
--nfiles ${NUM_FILES} --dir ${TESTDIR_SINGLE} --filefmt 'f%%d'"
echo "+ ${COMMAND}"
$MPIRUN -np 1 -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate unlink ${SINGLE_TARGET_RATE} 1 ${LOG} || true
fi
if [ -n "$NOMULTI" ]; then
echo "NO test for create on multiple nodes."
else
log "===== $0 ### $NUM_CLIENTS NODES CREATE ###"
echo "Running creates on ${NUM_CLIENTS} node(s)."
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --time ${TIME_PERIOD}
--dir ${TESTDIR_MULTI} --filefmt 'f%%d'"
echo "+ ${COMMAND}"
$MPIRUN -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate create ${AGGREGATE_TARGET_RATE} ${NUM_CLIENTS} ${LOG} || true
echo "Running unlinks on ${NUM_CLIENTS} node(s)."
let NUM_FILES=${AGGREGATE_TARGET_RATE}\*${TIME_PERIOD}
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --unlink --time ${TIME_PERIOD}
--nfiles ${NUM_FILES} --dir ${TESTDIR_MULTI} --filefmt 'f%%d'"
echo "+ ${COMMAND}"
$MPIRUN -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate unlink ${AGGREGATE_TARGET_RATE} ${NUM_CLIENTS} ${LOG} || true
fi
equals_msg `basename $0`: test complete, cleaning up
zconf_umount_clients $NODES_TO_USE $MOUNT
check_and_cleanup_lustre
#rm -f $LOG
exit 0
#!/bin/bash
#
# This test was used in a set of CMD3 tests (cmd3-3 test).
LUSTRE=${LUSTRE:-`dirname $0`/..}
. $LUSTRE/tests/test-framework.sh
init_test_env $@
. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
assert_env CLIENTS MDSRATE SINGLECLIENT MPIRUN
MACHINEFILE=${MACHINEFILE:-$(basename $0 .sh).machines}
TESTDIR=$MOUNT
# Requirements
# The default number of stripes per file is set to 1 in test3/run_test.sh.
TIME_PERIOD=${TIME_PERIOD:-600} # seconds
SINGLE_TARGET_RATE=1400 # ops/sec
AGGREGATE_TARGET_RATE=10000 # ops/sec
# Local test variables
TESTDIR_SINGLE="${TESTDIR}/single"
TESTDIR_MULTI="${TESTDIR}/multi"
LOG=${TESTSUITELOG:-$TMP/$(basename $0 .sh).log}
CLIENT=$SINGLECLIENT
NODES_TO_USE=${NODES_TO_USE:-$CLIENTS}
NUM_CLIENTS=$(get_node_count ${NODES_TO_USE//,/ })
# XXX - this needs to be determined given the number of MDTs and the number
# of clients.
THREADS_PER_CLIENT=3 # threads/client for multi client test
if [ $NUM_CLIENTS -gt 50 ]; then
THREADS_PER_CLIENT=1
fi
[ ! -x ${MDSRATE} ] && error "${MDSRATE} not built."
# Make sure we start with a clean slate
rm -f ${LOG} PI*
log "===== $0 ====== "
check_and_setup_lustre
generate_machine_file $NODES_TO_USE $MACHINEFILE
$LFS setstripe $TESTDIR -i 0 -c 1
get_stripe $TESTDIR
if [ -n "$NOSINGLE" ]; then
echo "NO Tests on single client."
else
if [ -n "$NOCREATE" ]; then
echo "NO Test for creates for a single client."
else
do_node ${CLIENT} "rm -rf $TESTDIR_SINGLE"
log "===== $0 ### 1 NODE CREATE ###"
echo "Running creates on 1 node(s)."
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --time ${TIME_PERIOD}
--dir ${TESTDIR_SINGLE} --filefmt 'f%%d'"
echo "+ ${COMMAND}"
$MPIRUN -np 1 -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate create ${SINGLE_TARGET_RATE} 1 ${LOG} || true
fi
if [ -n "$NOUNLINK" ]; then
echo "NO Test for unlinks for a single client."
else
log "===== $0 ### 1 NODE UNLINK ###"
echo "Running unlinks on 1 node(s)."
let NUM_FILES=${SINGLE_TARGET_RATE}\*${TIME_PERIOD}
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --unlink --time ${TIME_PERIOD}
--nfiles ${NUM_FILES} --dir ${TESTDIR_SINGLE} --filefmt 'f%%d'"
echo "+ ${COMMAND}"
$MPIRUN -np 1 -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate unlink ${SINGLE_TARGET_RATE} 1 ${LOG} || true
fi
fi
if [ -n "$NOMULTI" ]; then
echo "NO tests on multiple nodes."
else
if [ -n "$NOCREATE" ]; then
echo "NO test for create on multiple nodes."
else
do_node $CLIENT rm -rf $TESTDIR_MULTI
log "===== $0 ### $NUM_CLIENTS NODES CREATE ###"
echo "Running creates on ${NUM_CLIENTS} node(s) with $THREADS_PER_CLIENT threads per client."
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --time ${TIME_PERIOD}
--dir ${TESTDIR_MULTI} --filefmt 'f%%d'"
echo "+ ${COMMAND}"
$MPIRUN -np $((${NUM_CLIENTS}*THREADS_PER_CLIENT)) -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate create ${AGGREGATE_TARGET_RATE} ${NUM_CLIENTS} ${LOG} || true
fi
if [ -n "$NOUNLINK" ]; then
echo "NO Test for unlinks multiple nodes."
else
log "===== $0 ### $NUM_CLIENTS NODES UNLINK ###"
echo "Running unlinks on ${NUM_CLIENTS} node(s) with $THREADS_PER_CLIENT threads per client."
let NUM_FILES=${AGGREGATE_TARGET_RATE}\*${TIME_PERIOD}
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --unlink --time ${TIME_PERIOD}
--nfiles ${NUM_FILES} --dir ${TESTDIR_MULTI} --filefmt 'f%%d'"
echo "+ ${COMMAND}"
$MPIRUN -np $((${NUM_CLIENTS}*THREADS_PER_CLIENT)) -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate unlink ${AGGREGATE_TARGET_RATE} ${NUM_CLIENTS} ${LOG} || true
fi
fi
equals_msg `basename $0`: test complete, cleaning up
zconf_umount_clients $NODES_TO_USE $MOUNT
check_and_cleanup_lustre
#rm -f $LOG
exit 0
#!/bin/bash
#
# This test was used in a set of CMD3 tests (cmd3-5 test).
# Directory lookup retrieval rate single directory 10 million files
# 5900 random lookups/sec per client node 62,000 random lookups/sec aggregate
#
# In a dir containing 10 million non-striped files the mdsrate Test Program will
# perform lookups for 10 minutes. This test can be run from a single node for
# #1 and from all nodes for #2 aggregate test to measure lookup performance.
LUSTRE=${LUSTRE:-`dirname $0`/..}
. $LUSTRE/tests/test-framework.sh
init_test_env $@
. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
assert_env CLIENTS MDSRATE SINGLECLIENT MPIRUN
MACHINEFILE=${MACHINEFILE:-$(basename $0 .sh).machines}
TESTDIR=$MOUNT
# Requirements
NUM_FILES=${NUM_FILES:-1000000}
TIME_PERIOD=${TIME_PERIOD:-600} # seconds
SINGLE_TARGET_RATE=5900 # ops/sec
AGGREGATE_TARGET_RATE=62000 # ops/sec
LOG=${TESTSUITELOG:-$TMP/$(basename $0 .sh).log}
CLIENT=$SINGLECLIENT
NODES_TO_USE=${NODES_TO_USE:-$CLIENTS}
NUM_CLIENTS=$(get_node_count ${NODES_TO_USE//,/ })
rm -f $LOG
[ ! -x ${MDSRATE} ] && error "${MDSRATE} not built."
log "===== $0 ====== "
check_and_setup_lustre
generate_machine_file $NODES_TO_USE $MACHINEFILE
$LFS setstripe $TESTDIR -c 1
get_stripe $TESTDIR
if [ -n "$NOCREATE" ]; then
echo "NOCREATE=$NOCREATE => no file creation."
else
log "===== $0 Test preparation: creating ${NUM_FILES} files."
echo "Test preparation: creating ${NUM_FILES} files."
MDSCOUNT=1
NUM_CLIENTS=$(get_node_count ${NODES_TO_USE//,/ })
NUM_THREADS=$((NUM_CLIENTS * MDSCOUNT))
if [ $NUM_CLIENTS -gt 50 ]; then
NUM_THREADS=$NUM_CLIENTS
fi
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --mknod --dir ${TESTDIR}
--nfiles ${NUM_FILES} --filefmt 'f%%d'"
echo "+" ${COMMAND}
$MPIRUN -np ${NUM_THREADS} -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} 2>&1
# No lockup if error occurs on file creation, abort.
[ ${PIPESTATUS[0]} != 0 ] && error "mpirun ... mdsrate ... file creation failed, aborting"
fi
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --lookup --time ${TIME_PERIOD} ${SEED_OPTION}
--dir ${TESTDIR} --nfiles ${NUM_FILES} --filefmt 'f%%d'"
# 1
if [ -n "$NOSINGLE" ]; then
echo "NO Test for lookups on a single client."
else
log "===== $0 ### 1 NODE LOOKUPS ###"
echo "Running lookups on 1 node(s)."
echo "+" ${COMMAND}
$MPIRUN -np 1 -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate lookup ${SINGLE_TARGET_RATE} 1 ${LOG} || true
fi
# 2
if [ -n "$NOMULTI" ]; then
echo "NO test for lookups on multiple nodes."
else
log "===== $0 ### ${NUM_CLIENTS} NODES LOOKUPS ###"
echo "Running lookups on ${NUM_CLIENTS} node(s)."
echo "+" ${COMMAND}
$MPIRUN -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate lookup ${AGGREGATE_TARGET_RATE} ${NUM_CLIENTS} ${LOG} || true
fi
equals_msg `basename $0`: test complete, cleaning up
zconf_umount_clients $NODES_TO_USE $MOUNT
check_and_cleanup_lustre
#rm -f $LOG
exit 0
#!/bin/sh
#
# This test was used in a set of CMD3 tests (cmd3-8 test).
# File attribute retrieval rate for large file creation
# 3300 ops/sec/OST for single node 28500 ops/sec/OST aggregate
# In a dir containing 10 million striped files, the mdsrate Test Program will
# perform directory ordered stat's (readdir) for 10 minutes. This test will be
# run from a single node for #1 and from all nodes for #2 aggregate test to
# measure stat performance.
LUSTRE=${LUSTRE:-`dirname $0`/..}
. $LUSTRE/tests/test-framework.sh
init_test_env $@
. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
assert_env CLIENTS MDSRATE SINGLECLIENT MPIRUN
MACHINEFILE=${MACHINEFILE:-$(basename $0 .sh).machines}
TESTDIR=$MOUNT
# Requirements
NUM_FILES=${NUM_FILES:-1000000}
TIME_PERIOD=${TIME_PERIOD:-600} # seconds
SINGLE_TARGET_RATE=$((3300 / OSTCOUNT)) # ops/sec
AGGREGATE_TARGET_RATE=$((28500 / OSTCOUNT)) # ops/sec
# --random_order (default) -OR- --readdir_order
DIR_ORDER=${DIR_ORDER:-"--readdir_order"}
LOG=${TESTSUITELOG:-$TMP/$(basename $0 .sh).log}
CLIENT=$SINGLECLIENT
NODES_TO_USE=${NODES_TO_USE:-$CLIENTS}
NUM_CLIENTS=$(get_node_count ${NODES_TO_USE//,/ })
rm -f $LOG
[ ! -x ${MDSRATE} ] && error "${MDSRATE} not built."
log "===== $0 ====== "
check_and_setup_lustre
generate_machine_file $NODES_TO_USE $MACHINEFILE
$LFS setstripe $TESTDIR -c -1
get_stripe $TESTDIR
if [ -n "$NOCREATE" ]; then
echo "NOCREATE=$NOCREATE => no file creation."
else
log "===== $0 Test preparation: creating ${NUM_FILES} files."
echo "Test preparation: creating ${NUM_FILES} files."
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --create --dir ${TESTDIR}
--nfiles ${NUM_FILES} --filefmt 'f%%d'"
echo "+" ${COMMAND}
MDSCOUNT=1
NUM_CLIENTS=$(get_node_count ${NODES_TO_USE//,/ })
NUM_THREADS=$((NUM_CLIENTS * MDSCOUNT))
if [ $NUM_CLIENTS -gt 50 ]; then
NUM_THREADS=$NUM_CLIENTS
fi
$MPIRUN -np ${NUM_THREADS} -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} 2>&1
[ ${PIPESTATUS[0]} != 0 ] && error "mpirun ... mdsrate ... file creation failed, aborting"
fi
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --stat --time ${TIME_PERIOD}
--dir ${TESTDIR} --nfiles ${NUM_FILES} --filefmt 'f%%d'
${DIR_ORDER} ${SEED_OPTION}"
# 1
if [ -n "$NOSINGLE" ]; then
echo "NO Test for stats on a single client."
else
log "===== $0 ### 1 NODE STAT ###"
echo "Running stats on 1 node(s)."
echo "+" ${COMMAND}
$MPIRUN -np 1 -machinefile ${MACHINEFILE} ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate stat ${SINGLE_TARGET_RATE} 1 ${LOG} || true
fi
# 2
if [ -n "$NOMULTI" ]; then
echo "NO test for stats on multiple nodes."
else
log "===== $0 ### ${NUM_CLIENTS} NODES STAT ###"
echo "Running stats on ${NUM_CLIENTS} node(s)."
echo "+" ${COMMAND}
NUM_THREADS=$(get_node_count ${NODES_TO_USE//,/ })
$MPIRUN -np ${NUM_THREADS} -machinefile ${MACHINEFILE} ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate stat ${AGGREGATE_TARGET_RATE} ${NUM_CLIENTS} ${LOG} || true
fi
equals_msg `basename $0`: test complete, cleaning up
zconf_umount_clients $NODES_TO_USE $MOUNT
check_and_cleanup_lustre
#rm -f $LOG
exit 0
#!/bin/bash
#
# This test was used in a set of CMD3 tests (cmd3-7 test).
# File attribute retrieval rate for small file creation
# 3200 ops/sec for single node 29,000 ops/sec aggregate
# In a dir containing 10 million non-striped files, the mdsrate Test Program
# will perform directory ordered stat's (readdir) for 10 minutes. This test
# will be run from a single node for #1 and from all nodes for #2
# aggregate test to measure stat performance.
LUSTRE=${LUSTRE:-`dirname $0`/..}
. $LUSTRE/tests/test-framework.sh
init_test_env $@
. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
assert_env CLIENTS MDSRATE SINGLECLIENT MPIRUN
MACHINEFILE=${MACHINEFILE:-$(basename $0 .sh).machines}
TESTDIR=$MOUNT
# Requirements
NUM_FILES=${NUM_FILES:-1000000}
TIME_PERIOD=${TIME_PERIOD:-600} # seconds
SINGLE_TARGET_RATE=3200 # ops/sec
AGGREGATE_TARGET_RATE=29000 # ops/sec
# --random_order (default) -OR- --readdir_order
DIR_ORDER=${DIR_ORDER:-"--readdir_order"}
LOG=${TESTSUITELOG:-$TMP/$(basename $0 .sh).log}
CLIENT=$SINGLECLIENT
NODES_TO_USE=${NODES_TO_USE:-$CLIENTS}
NUM_CLIENTS=$(get_node_count ${NODES_TO_USE//,/ })
rm -f $LOG
[ ! -x ${MDSRATE} ] && error "${MDSRATE} not built."
log "===== $0 ====== "
check_and_setup_lustre
generate_machine_file $NODES_TO_USE $MACHINEFILE
$LFS setstripe $TESTDIR -i 0 -c 1
get_stripe $TESTDIR
if [ -n "$NOCREATE" ]; then
echo "NOCREATE=$NOCREATE => no file creation."
else
log "===== $0 Test preparation: creating ${NUM_FILES} files."
echo "Test preparation: creating ${NUM_FILES} files."
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --mknod --dir ${TESTDIR}
--nfiles ${NUM_FILES} --filefmt 'f%%d'"
echo "+" ${COMMAND}
MDSCOUNT=1
NUM_CLIENTS=$(get_node_count ${NODES_TO_USE//,/ })
NUM_THREADS=$((NUM_CLIENTS * MDSCOUNT))
if [ $NUM_CLIENTS -gt 50 ]; then
NUM_THREADS=$NUM_CLIENTS
fi
$MPIRUN -np ${NUM_THREADS} -machinefile ${MACHINEFILE} \
${MPIRUN_OPTIONS} ${COMMAND} 2>&1
[ ${PIPESTATUS[0]} != 0 ] && error "Error running mdsrate, aborting..."
fi
COMMAND="${MDSRATE} ${MDSRATE_DEBUG} --stat --time ${TIME_PERIOD}
--dir ${TESTDIR} --nfiles ${NUM_FILES} --filefmt 'f%%d'
${DIR_ORDER} ${SEED_OPTION}"
# 1
if [ -n "$NOSINGLE" ]; then
echo "NO Test for stats on a single client."
else
log "===== $0 ### 1 NODE STAT ###"
echo "Running stats on 1 node(s)."
echo "+" ${COMMAND}
$MPIRUN -np 1 -machinefile ${MACHINEFILE} ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate stat ${SINGLE_TARGET_RATE} 1 ${LOG} || true
fi
# 2
if [ -n "$NOMULTI" ]; then
echo "NO test for stats on multiple nodes."
else
log "===== $0 ### ${NUM_CLIENTS} NODES STAT ###"
echo "Running stats on ${NUM_CLIENTS} node(s)."
echo "+" ${COMMAND}
$MPIRUN -np ${NUM_CLIENTS} -machinefile ${MACHINEFILE} ${MPIRUN_OPTIONS} ${COMMAND} | tee ${LOG}
if [ ${PIPESTATUS[0]} != 0 ]; then
[ -f $LOG ] && cat $LOG
error "mpirun ... mdsrate ... failed, aborting"
fi
check_rate stat ${AGGREGATE_TARGET_RATE} ${NUM_CLIENTS} ${LOG} || true
fi
equals_msg `basename $0`: test complete, cleaning up
zconf_umount_clients $NODES_TO_USE $MOUNT
check_and_cleanup_lustre
#rm -f $LOG
exit 0
This diff is collapsed.
#!/bin/bash
#set -vx
set -e
TESTNAME=`basename $0 .sh`
TMP=${TMP:-/tmp}
LOG=${LOG:-"$TMP/${TESTNAME}.log"}
LUSTRE=${LUSTRE:-`dirname $0`/..}
. $LUSTRE/tests/test-framework.sh
init_test_env $@
. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
[ -x "$MDSRATE" ] || FAIL_ON_ERROR=true error "No mdsrate program. Aborting."
which mpirun > /dev/null 2>&1 || \
FAIL_ON_ERROR=true error "No mpirun program. Aborting."
# Skip these tests
# bug number: 15266 15266 15266
ALWAYS_EXCEPT="1 2 6 $PERFORMANCE_SANITY_EXCEPT"
build_test_filter
# single-IOR-rates
test_1() {
echo "Single client I/O performance as a percentage of raw"
}
run_test 1 "single-client IO perf ====="
# parallel-IOR-rates
test_2() {
echo "MPI coordinated test of parallel filesystem system calls and library functions"
}
run_test 2 "multi-client IO perf ====="
# mdsrate-create-small
test_3() {
echo "File creation performance tests for file objects"
bash mdsrate-create-small.sh
}
run_test 3 "small file create/open/delete ======"
# mdsrate-create-large
test_4() {
echo "Large file creation performance"
bash mdsrate-create-large.sh
}
run_test 4 "large file create/open/delete ======"
# mdsrate-lookup-1dir
test_5() {
echo "Single directory lookup retrieval rate"
bash mdsrate-lookup-1dir.sh
}
run_test 5 "lookup rate 10M file dir ======"
# mdsrate-lookup-10dir
test_6() {
echo "Directory lookup retrieval rate 10 directories, 1 million files each"
bash mdsrate-lookup-10dirs.sh
}
run_test 6 "lookup rate 10M file 10 dir ======"
# mdsrate-stat-small
test_7() {
echo "File attribute retrieval rate for small file creation"
bash mdsrate-stat-small.sh
}
run_test 7 "getattr small file ======"
# mdsrate-stat-large
test_8() {
echo "File attribute retrieval rate for large file creation"
bash mdsrate-stat-large.sh
}
run_test 8 "getattr large files ======"
equals_msg `basename $0`: test complete, cleaning up
check_and_cleanup_lustre
[ -f "$LOG" ] && cat $LOG || true
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment