#!/bin/bash # # Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation. # # This program is distributed in the hope that it would be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # # Does a bonnie throughput run (80M file and 1K chunksize if the # BONNIE_FILESIZE and/or BONNIE_CHUNKSIZE variables are not set), # then massages the output into CSV format with the human-readable # output preceding it as a "comment" (ie. #-prefixed). # BONNIE_FILESIZE=${BONNIE_FILESIZE:=500M} BONNIE_CHUNKSIZE=${BONNIE_CHUNKSIZE:=1K} [ -z "$here" ] && here=`pwd` . $here/common.bonnie # # Sample bonnie throughput output (stderr): #Version 1.02c ------Sequential Output------ --Sequential Input- --Random- # -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- #Machine Size:chnk K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP # 150M:64k 52024 99 88969 99 245492 100 3746 264 # filter_stderr() { sed -e 's/^..................../# /g' | awk '{print} END {print "#"}' } # # Sample bonnie throughput output (stdout): # ",150M:64k,,,52024,99,88969,99,,,245492,100,3746.0,264,,,,,,,,,,,,," # filter_stdout() { perl -ne ' chomp; s/,+/,/g; s/^,//; s/,$//; @values = split /,/; printf "%9s", shift @values; for ($i = 0; $i <= $#values; $i++) { if ($i % 2) { printf ",%4s%%", $values[$i] } else { printf ",%10s", $values[$i] } } printf "\n"; ' } if [ $# -gt 0 ]; then printf "%9s,%10s,%5s,%10s,%5s,%10s,%5s,%10s,%5s\n" size:chnk \ writeK/s wCPU rewriteK/s rwCPU readK/s rCPU seek/s sCPU exit 0 fi run_bonnie -n 0 -s $BONNIE_FILESIZE:$BONNIE_CHUNKSIZE