From owner-linux-raid-outgoing@vger.rutgers.edu Mon Feb 14 17:33:47 2000 Return-Path: Received: from nic.funet.fi (nic.funet.fi [193.166.0.145]) by planet.fef.com (8.9.3/8.9.3) with ESMTP id RAA28809 for ; Mon, 14 Feb 2000 17:33:47 -0800 Received: from vger.rutgers.edu ([128.6.190.2]:27460 "EHLO vger.rutgers.edu" ident: "NO-IDENT-SERVICE[2]" smtp-auth: TLS-CIPHER: ) by nic.funet.fi with ESMTP id ; Tue, 15 Feb 2000 03:34:32 +0200 Received: by vger.rutgers.edu via listexpand id ; Mon, 14 Feb 2000 15:07:13 -0500 Received: by vger.rutgers.edu id ; Mon, 14 Feb 2000 14:31:47 -0500 Received: from innsproxy2.highway.telekom.at ([195.3.96.235]:33587 "EHLO email.aon.at") by vger.rutgers.edu with ESMTP id ; Mon, 14 Feb 2000 14:02:55 -0500 Received: from defiant.localnet (N384P028.dipool.highway.telekom.at [212.183.47.252]) by email.aon.at (8.9.3/8.9.3) with ESMTP id AAA33672; Tue, 15 Feb 2000 00:05:45 +0100 Received: from marvin.localnet (marvin) [10.0.0.1] by defiant.localnet with esmtp (Exim 2.05 #1 (Debian)) id 12KUYq-00034R-00; Tue, 15 Feb 2000 00:05:44 +0100 Received: from weasel by marvin with local (Exim 3.12 #1 (Debian)) id 12KUYq-0004vK-00; Tue, 15 Feb 2000 00:05:44 +0100 Date: Tue, 15 Feb 2000 00:05:44 +0100 From: Peter Palfrader aka Weasel To: James Manning Cc: linux-raid@vger.rutgers.edu Subject: Re: some benchmarks for read-balancing RAID1 Message-ID: <20000215000544.A18378@marvin.2y.net> References: <3.0.3.32.20000212143921.039d2814@mail.sime.com> <20000212112008.A15828@jmm.raleigh.ibm.com> <20000213001915.A744@marvin.2y.net> <20000213214438.C18579@jmm.raleigh.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii User-Agent: Mutt/1.0.1i In-Reply-To: <20000213214438.C18579@jmm.raleigh.ibm.com>; from jmm@computer.org on Sun, Feb 13, 2000 at 09:44:38PM -0500 Sender: owner-linux-raid@vger.rutgers.edu Precedence: bulk X-Loop: majordomo@vger.rutgers.edu X-Orcpt: rfc822;linux-raid-outgoing Status: RO On Sun, Feb 13, 2000 at 09:44:38PM -0500, James Manning wrote: > [ Saturday, February 12, 2000 ] Peter Palfrader aka Weasel wrote: > > So, I finally found time to try the new RAID stuff and speed > > increased :) > > Excellent. > > > I also tried RAID1 with and without the read-balancing patch: > > The filesystem was always made with a simple "mke2fs ": > > -Rstripe= could be helpful... since you have numbers w/o it, it'd > be interesting to see any diff. (it shouldn't make a diff in the > 4k chunk size case, but cover it anyway if possible, just to see :) > > Since it (afaik) is the number of ext2 blocks gathered before > the ll_rw_blk down to the lower level, it should help efficiency. > > TCQ Enabled By Default : Disabled > > something else possibly worth pursuing... > I'm going to run tiobench this night with chunksizes from 4 to 512, a --numruns of 3, TCQ Enabled By Default and the read-balancing patch in. I'll use the following script. Anything to add or make different? Peter Palfrader #!/bin/sh # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY # # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE # # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR # # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR # # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR # # OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # # sorry but I think it's important in this case :) # MAGIC NUMBER ALERT IN RAIDTAB TEMPLATE!!!! TIOBENCH="/home/weasel/tmp/tiotest-0.23/tiobench.pl" TSTDIR="/mnt/tmp0" TSTPART="/dev/md1" EXT2BLOCKSIZE=4096 TMPFILE="/tmp/testrun-$$" RF=`echo "--ernyyl-sbepr" | tr a-zA-Z n-za-mN-ZA-M` NUMRUNS=3 SAVESEC=5 if ( mount | awk ' { print $1 } ' | grep -q -G "^$TSTPART$" ) then echo "$TSTPART is already mounted!" exit 1 fi if [ ! -f $TIOBENCH ] then echo "$TIOBENCH not found!" exit 2 fi if [ ! -x $TIOBENCH ] then echo "$TIOBENCH is not executeable!" exit 3 fi if [ ! -d $TSTDIR ] then echo "$TSTDIR is not a directory!" exit 4 fi if [ -e $TMPFILE ] then echo "$TMPFILE already exists! I wanted this nick :(" exit 5 fi if ( grep -q `echo $TSTPART | sed -e "s/\/dev\///"` /proc/mdstat ) then echo "raid device $TSTPART already running. please stop" exit 6 fi; if [ "$1" != "Yes I really want this" ] then echo "This will destroy any data on $TSTPART" echo "Run with $0 \"Yes I really want this\"." exit 7 fi echo echo echo "THIS SCRIPT WILL DELETE ANY DATA ON RAIDDEVICE $TSTPART" echo "THERE WILL BE NO WAY TO GET BACK ANYTHING ON THERE" echo "SO MAKE SURE YOU DON'T NEED IT ANY MORE" echo echo "YOU'VE GOT $SAVESEC SECONDS TO RETHINK YOUR DECISION" echo "HIT Ctrl-C TO ABORT" echo echo sleep $SAVESEC for CHUNKSIZE in 4 8 16 32 64 128 256 512 do stride=$(( $CHUNKSIZE * 1024 / $EXT2BLOCKSIZE )) # Make the raidtab cat < $TMPFILE raiddev $TSTPART raid-level 1 nr-raid-disks 2 persistent-superblock 1 chunk-size $CHUNKSIZE device /dev/sda6 raid-disk 0 device /dev/sdb6 raid-disk 1 EOF # Make the RAID device echo "creating raiddevice on $TSTPART" mkraid -c $TMPFILE $RF $TSTPART > /dev/null # Wait for resync to finish echo -n "waiting for resync to finish " while ( grep -q resync /proc/mdstat ) do sleep 5 echo -n "." done echo "done" # Create an EXT2 partition echo "creating an EXT2 filesystem on $TSTPART with: mke2fs -b $EXT2BLOCKSIZE -Rstride=$stride $TSTPART" mke2fs -b $EXT2BLOCKSIZE -Rstride=$stride $TSTPART > /dev/null # Mount the device echo "mounting $TSTPART on $TSTDIR" mount -t ext2 $TSTPART $TSTDIR # running tiobench echo "running tiobench..." $TIOBENCH --numruns $NUMRUNS --dir $TSTDIR | tee /tiobench-$CHUNKSIZE echo "done." echo "unmounting" umount $TSTDIR echo "stopping raid" raidstop $TSTPART done rm -f $TMPFILE -- Weasel http://www.cosy.sbg.ac.at/~ppalfrad/ PGP/GPG encrypted messages prefered. See my site or finger -l ppalfrad ---------------------------------------------------------------------- Yes means No and No means Yes. Delete all files [Y]?