Subject: Re: raidframe consumes cpu like a terminally addicted
To: Greg Oster <oster@cs.usask.ca>
From: Matthias Buelow <mkb@mukappabeta.de>
List: netbsd-users
Date: 04/30/2001 18:56:32
Greg Oster writes:

>>   | bytes/sector: 512
>>   | sectors/track: 256
>>   | tracks/cylinder: 1
>>   | sectors/cylinder: 256
>>   | cylinders: 139970
>> 
>> Yes, that's certainly not a good layout.   If you don't have the kernel
>> patch mentioned on the list, then allocating new blocks is (sometimes)
>> likely to be very slow (CPU intensive).
>
>This is the problem that Herb mentioned...

Hmm.. what layout would be recommended?  How can I calculate
a more optimal layout?

>A couple of other things:
>
>Matthias Buelow writes (in a previous message):
>> START layout
>> # sectPerSU SUsPerParityUnit SUsPerReconUnit RAID_level
>> 32 1 1 5
>
>That's only 16K per component in this case, which is probably too small 
>for the best performance... 32K per component may perform better.

I thought, since there're mostly smaller files on the disk, that
smaller components would be better, since it wouldn't have to read
in that much then just for a single file (but I must admit, that was
only an unbased speculation, I am rather clueless about these details
of RAIDs in general, so I took the sample values from the manpage...)

>Also: do a 'time ls -l > /dev/null' on the offending directory, and a 
>'time ls -l > /dev/null' on the "single disk of the same type".  I'm 
>interested in seeing what those say... 

here's a non-stat()ing ls which just reads the dir:

$ time \ls -1|wc -l
     934
    0.01s real     0.00s user     0.01s system

and here comes the problematic thing:

$ time \ls -l >/dev/null
   33.26s real    12.15s user    16.69s system
$ time \ls -l >/dev/null
   31.01s real    12.95s user    16.08s system
$ time \ls -l >/dev/null
   32.78s real    13.17s user    15.61s system

I don't have access to a non-RAID DNES atm (I was referring to
a disk at home, in a similar setup, except for the RAID) but
here are the times for /dev which is of similar size, on the
same system, on a RAID1 (using two DDRS disks, which are much
slower than the DNES used for the RAID5 though):

$ time \ls -1 /dev|wc -l
     875
    0.03s real 42949672.95s user     0.01s system
$ time \ls -l /dev>/dev/null
    0.05s real     0.01s user     0.00s system
$ time \ls -l /dev>/dev/null
    0.05s real     0.02s user     0.02s system
$ time \ls -l /dev>/dev/null
    0.04s real     0.01s user     0.00s system

The fact that the directory on the RAID5 contains only subdirs
as entries, and in /dev it's device nodes shouldn't be of any
significance, imho?

>i386 box running 1.5.1_BETA as of Apr. 7)

The machine is running 1.5/i386.

--mkb