On Fri, Feb 6, 2009 at 13:57, Bob Friesenhahn <[email protected]> wrote: > This script by Jeff Bonwick is good for finding poorly-performing disks. > This version is slightly modified by myself. Ah, yes, I'd forgotten about this script. Thanks for the reminder, and here are the outputs I got: # ./diskqual.sh c0t0d0 212 MB/sec c0t1d0 215 MB/sec c0t2d0 463 MB/sec c0t3d0 476 MB/sec c0t4d0 483 MB/sec c0t5d0 460 MB/sec c2t8d0 69 MB/sec c2t9d0 69 MB/sec c2t10d0 69 MB/sec c4t9d0 104 MB/sec c4t10d0 60 MB/sec c4t11d0 74 MB/sec c4t12d0 79 MB/sec c4t13d0 77 MB/sec c4t14d0 77 MB/sec c4t15d0 77 MB/sec
Everything looks fine to me. The disks I'm using are all on c4, which is an LSI SAS card connected to an LSI SAS expander with sata disks on it. Taking out the " | sort -n | tail -2 | head -1" part of the output formatting doesn't show any discrepancies (except on the c0 disks, which I expected because they're on a hardware raid controller which caches things). Thanks for the suggestion. Will > #!/bin/ksh > > # Date: Mon, 14 Apr 2008 15:49:41 -0700 > # From: Jeff Bonwick <[email protected]> > # To: Henrik Hjort <[email protected]> > # Cc: [email protected] > # Subject: Re: [zfs-discuss] Performance of one single 'cp' > # # No, that is definitely not expected. > # # One thing that can hose you is having a single disk that performs > # really badly. I've seen disks as slow as 5 MB/sec due to vibration, > # bad sectors, etc. To see if you have such a disk, try my diskqual.sh > # script (below). On my desktop system, which has 8 drives, I get: > # # # ./diskqual.sh > # c1t0d0 65 MB/sec > # c1t1d0 63 MB/sec > # c2t0d0 59 MB/sec > # c2t1d0 63 MB/sec > # c3t0d0 60 MB/sec > # c3t1d0 57 MB/sec > # c4t0d0 61 MB/sec > # c4t1d0 61 MB/sec > # # The diskqual test is non-destructive (it only does reads), but to > # get valid numbers you should run it on an otherwise idle system. > > disks=`format </dev/null | grep ' c.t' | nawk '{print $2}'` > > getspeed1() > { > ptime dd if=/dev/rdsk/${1}s0 of=/dev/null bs=64k count=1024 2>&1 | > nawk '$1 == "real" { printf("%.0f\n", 67.108864 / $2) }' > } > > getspeed() > { > # Best out of 6 > for iter in 1 2 3 4 5 6 > do > getspeed1 $1 > done | sort -n | tail -2 | head -1 > } > > for disk in $disks > do > echo $disk `getspeed $disk` MB/sec > done > > > ====================================== > Bob Friesenhahn > [email protected], http://www.simplesystems.org/users/bfriesen/ > GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ > > _______________________________________________ storage-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/storage-discuss
