Raid 5 performance
Uwe Doering
gemini at geminix.org
Sat Feb 7 01:39:41 PST 2004
Todd Lewis wrote:
> I am using FreeBSD 4.9, with a 3ware RAID 5
> 1 gig memory 2.8g p4
>
> Three questions.
>
> 1. FreeBSD has a 16k block size. The RAID card is set at 64k
> Block size(its sweet spot). My logic tells me that
> increasing the block size to 64k would increase disk
> read and write access. But, everything I read suggest
> going above 64k is dangerous. Are their any recomendations
> on performance a stability concerns when increasnig the
> block size to 64k when using a RAID controler.
A RAID controller normally has nothing to do with the file system's
block size. Are you sure that you're not mixing this up with the stripe
size? Which stripe size to use with a RAID controller depends on your
performance priorities.
If there are a lot of concurrent disk operations a larger stripe size is
better because then a single disk operation tends to be limited to only
one disk drive, leaving the remaining drives free to perform other and
possibly unrelated disk operations at the same time. On the other hand,
if sequential i/o throughput is important a smaller stripe size is better.
> 2. The vfs.hirunningspace variable defualts to 1meg. From what I've
> read this looks like a buffer. I'm guessing that its set to
> 1meg becuase most drives have 1~2 megs of memory. So following
> that logic and with safety in mind. For drives with 4 megs
> cache, I would set vfs.hirunningspace to 2 megs. 8megs of cache
> 4 megs to vfs.hirunningspace. So, my 64 megs raid control would
> have a vfs.hirunningspace 32.
It is my experience, too, that this variable is too low by default for
"intelligent" disk controllers with large buffers. However, the amount
of buffer space for outstanding disk operations is taken from the
kernel's disk i/o buffer, which is normally auto-sized at boot time,
based on the amount of memory you have. But you can also override it.
You may want to check 'vfs.maxbufspace' and make 'vfs.hirunningspace'
only a fraction of it. Not more that 1/4, for instance. And adapting
'vfs.lorunningspace' accordingly is also a good idea (it's a hysteresis).
Uwe
--
Uwe Doering | EscapeBox - Managed On-Demand UNIX Servers
gemini at geminix.org | http://www.escapebox.net
More information about the freebsd-performance
mailing list