Subject: Why did my strip array slow down?
To: None <netbsd-users@netbsd.org>
From: Byron Servies <bservies@pacang.com>
List: netbsd-users
Date: 11/08/2002 07:47:02
Hi there!

I am having a serious performance problem with a raidframe
device.  I was certain I had seen something like this on the list
before, but failed to find appropriate threads while searching the
netbsd site.

The problem, I believe, is with the raidframe stripe device
(configuration and disklabel information below).  I had hoped
that the raidframe geometry problem was in effect, but that does
not appear that this is the case unless I have mis-read the
PR.  Initially, transfer to the array was fine, but at some
point after it passed through 40% full throughput dropped
dramatically (some dumpfs, df info below)

When I open a new ftp connection to my netbsd server and send
a file to the raidframe device, transfer begins and then 
immediately stalls for 10-20 seconds before continuing at a
reduced but relatively normal rate.  Using a non-raidframe
device, transfer is very fast, as expected.

My NIC is in full duplex mode and while I am receiving
CRC errors occasionally from the tlp driver, I do not
see them during ftp transfers.  I am running kernel 1.6
beta 2 on a 1.5.2 base; I was to upgrade to 1.6 this
weekend, but I needed to complete this other operation
(backup of another machine) to the raid device first.

If anyone has a pointers on what might be wrong or where
I should be looking, I would appreciate it.

Byron

-- raid0.conf

START array
# numRow numCol numSpare
1 2 0

START disks
/dev/wd1h
/dev/wd2h

START layout
# sectPerSU SUsPerParityUnit SUsPerReconUnit RAID_level_0
63 1 1 0

START queue
fifo 100

-- disklabel raid0

# /dev/rraid0d:
type: RAID
disk: raid
label: default label
flags:
bytes/sector: 512
sectors/track: 126
tracks/cylinder: 8
sectors/cylinder: 1008
cylinders: 232601
total sectors: 234462564
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0		# microseconds
track-to-track seek: 0	# microseconds
drivedata: 0 

4 partitions:
#        size   offset     fstype   [fsize bsize cpg/sgs]
  d: 234462564        0     4.2BSD        0     0     0   # (Cyl.    0 - 232601*)
disklabel: boot block size 0
disklabel: super block size 0

-- dumpfs /dev/rraid0d

endian  little-endian
magic   11954   time    Fri Nov  8 07:08:25 2002
cylgrp  dynamic inodes  4.4BSD  fslevel 3       softdep disabled
nbfree  8088831 ndir    64      nifree  28824601        nffree  121
ncg     14538   ncyl    232602  size    117231282       blocks  113393006
bsize   8192    shift   13      mask    0xffffe000
fsize   1024    shift   10      mask    0xfffffc00
frag    8       shift   3       fsbtodb 1
cpg     16      bpg     1008    fpg     8064    ipg     1984
minfree 5%      optim   time    maxcontig 8     maxbpg  2048
rotdelay 0ms    headswitch 0us  trackseek 0us   rps     60
ntrak   8       nsect   126     npsect  126     spc     1008
symlinklen 60   trackskew 0     interleave 1    contigsumsize 8
maxfilesize 0x0000400801017fff
nindir  2048    inopb   64      nspf    2
sblkno  16      cblkno  24      iblkno  32      dblkno  280
sbsize  2048    cgsize  2048    offset  64      mask    0xfffffff8
csaddr  280     cssize  233472  shift   9       mask    0xfffffe00
cgrotor 0       fmod    0       ronly   0       clean   0x02
blocks available in each of 1 rotational positions

--- df output

Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/raid0d 113393006 48682258 59041097    45%    /exports/raid0