Commit faacaff2 authored by William Grzybowski's avatar William Grzybowski
Browse files

Add a perftests-nas script to run performance tests

parent 4596e43e
No related merge requests found
Showing with 79 additions and 0 deletions
+79 -0
#!/bin/sh
#+
# Copyright 2014 iXsystems, Inc.
# All rights reserved
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted providing that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
#####################################################################
SHAREDIR="$(realpath $(dirname $(realpath $0))/../share/perftests-nas)"
DATASIZE=$((40*1024*1024*1024))
progressfile=.progress
tests="$(ls ${SHAREDIR}/tests/)"
outputdir=
cleanup () {
rm -f ${progressfile}
}
trap "cleanup; exit 3" SIGHUP SIGINT SIGTERM
while getopts ":o:hs:t" opt; do
case "${opt}" in
o)
outputdir=${OPTARG}
;;
s)
DATASIZE=${OPTARG}
;;
t)
echo ${tests}
exit 0
;;
:)
echo "Option -${OPTARG} requires an argument"
;;
\?)
echo "Invalid option: -$OPTARG"
exit 2
;;
esac
done
[ -n "${outputdir}" ] && cd ${outputdir}
echo "totaltests:$(echo ${tests} | wc -l | xargs echo)" > ${progressfile}
for i in ${SHAREDIR}/tests/*; do
testname=$(basename ${i})
. ${i} -- $@ > ${testname}.txt 2>&1 &
echo "${testname}:$!" >> ${progressfile}
wait
done
cleanup
/usr/local/bin/iozone -r 128 -s $((${DATASIZE}/1024))k -i 0 -i 1
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment