Cleanup dbench benchmark scripts

This commit is contained in:
fsgqa
2003-09-25 01:57:56 +00:00
parent 5e5c47620a
commit 58b380a189
10 changed files with 101 additions and 37 deletions
+35 -12
View File
@@ -1,15 +1,10 @@
#!/bin/sh
#
# Does a dbench run (10 clients if $DBENCH_CLIENTS is not set),
# then massages the output into CSV format.
#
DBENCH_CLIENTS=${DBENCH_CLIENTS:=10}
##/bin/sh
run_dbench()
_run_dbench()
{
mkdir ./dbench || exit 1
cd dbench
dbench $DBENCH_CLIENTS
dbench $1
status=$?
cd ..
rm -fr ./dbench
@@ -20,8 +15,36 @@ run_dbench()
# Sample dbench output:
# "Throughput 40.6701 MB/sec (NB=50.8376 MB/sec 406.701 MBit/sec)"
#
if [ $# -gt 0 ]; then
# Output for a single-shot dbench run.
_format_header()
{
printf "%8s, %s\n" clients MB/sec
exit 0
fi
run_dbench | awk 'END { printf "%8u, %s\n", '$DBENCH_CLIENTS', $2 }'
}
_filter_dbench()
{
clients=$1
perl -ne 'm/Throughput (\S+) MB\/sec/ &&
{ printf "%8u, %s\n", '$clients', $1 }'
}
# Output for a "multipass" dbench run.
_format_header_multipass()
{
for i in $@; do
printf "%4s::MB/sec," $i
done
printf "\n"
}
_filter_dbench_multipass()
{
perl -ne '
if (m/Throughput (\S+) MB\/sec/) {
$results[$count++] = $1;
}
END { for ($i = 0; $i < $count - 1; $i++) {
printf "%12.3f,", $results[$i];
}
printf "%12.3f\n", $results[$count-1];
}'
}
+7 -4
View File
@@ -2,9 +2,12 @@
#
# Does a single-client dbench run
#
DBENCH_CLIENTS=1
export DBENCH_CLIENTS
[ ! -d "$here" ] && here=`pwd`
[ -z "$here" ] && here=`pwd`
. $here/common.dbench
exec $here/common.dbench $@
if [ $# -gt 0 ]; then
_format_header
exit 0
fi
_run_dbench 1 | _filter_dbench 1
+7 -4
View File
@@ -2,9 +2,12 @@
#
# Does a dbench run with 10 clients
#
DBENCH_CLIENTS=10
export DBENCH_CLIENTS
[ ! -d "$here" ] && here=`pwd`
[ -z "$here" ] && here=`pwd`
. $here/common.dbench
exec $here/common.dbench $@
if [ $# -gt 0 ]; then
_format_header
exit 0
fi
_run_dbench 10 | _filter_dbench 10
+7 -4
View File
@@ -2,9 +2,12 @@
#
# Does a dbench run with 100 clients
#
DBENCH_CLIENTS=100
export DBENCH_CLIENTS
[ ! -d "$here" ] && here=`pwd`
[ -z "$here" ] && here=`pwd`
. $here/common.dbench
exec $here/common.dbench $@
if [ $# -gt 0 ]; then
_format_header
exit 0
fi
_run_dbench 100 | _filter_dbench 100
+7 -4
View File
@@ -2,9 +2,12 @@
#
# Does a dbench run with 2 clients
#
DBENCH_CLIENTS=2
export DBENCH_CLIENTS
[ ! -d "$here" ] && here=`pwd`
[ -z "$here" ] && here=`pwd`
. $here/common.dbench
exec $here/common.dbench $@
if [ $# -gt 0 ]; then
_format_header
exit 0
fi
_run_dbench 2 | _filter_dbench 2
+7 -4
View File
@@ -2,9 +2,12 @@
#
# Does a dbench run with 20 clients
#
DBENCH_CLIENTS=20
export DBENCH_CLIENTS
[ ! -d "$here" ] && here=`pwd`
[ -z "$here" ] && here=`pwd`
. $here/common.dbench
exec $here/common.dbench $@
if [ $# -gt 0 ]; then
_format_header
exit 0
fi
_run_dbench 20 | _filter_dbench 20
+7 -4
View File
@@ -2,9 +2,12 @@
#
# Does a dbench run with 50 clients
#
DBENCH_CLIENTS=50
export DBENCH_CLIENTS
[ ! -d "$here" ] && here=`pwd`
[ -z "$here" ] && here=`pwd`
. $here/common.dbench
exec $here/common.dbench $@
if [ $# -gt 0 ]; then
_format_header
exit 0
fi
_run_dbench 50 | _filter_dbench 50
+21
View File
@@ -0,0 +1,21 @@
#!/bin/sh
#
# Does several dbench runs with increasing numbers of client
#
[ -z "$here" ] && here=`pwd`
. $here/common.dbench
if [ $# -gt 0 ]; then
_format_header_multipass 1 2 10 20 #50
exit 0
fi
tmpfile=/var/tmp/dbench.$$
rm -f $tmpfile
_run_dbench 1 >> $tmpfile
_run_dbench 2 >> $tmpfile
_run_dbench 10 >> $tmpfile
_run_dbench 20 >> $tmpfile
#_run_dbench 50 >> $tmpfile
_filter_dbench_multipass < $tmpfile
rm -f $tmpfile
+1
View File
@@ -4,6 +4,7 @@
# Use 1000 files, 10 iterations.
#
[ -z "$here" ] && here=`pwd`
. $here/common.metaperf
if [ $# -gt 0 ]; then
+1
View File
@@ -4,6 +4,7 @@
# Use 1 file, 10 iterations.
#
[ -z "$here" ] && here=`pwd`
. $here/common.metaperf
if [ $# -gt 0 ]; then