suggestions for SATA RAID cards
Chris BeHanna
chris at behanna.org
Wed Oct 4 10:00:59 PDT 2006
On Oct 4, 2006, at 12:35 PM, Pete French wrote:
>> I would guess that's nothing to do with blocks or striping per se. A
>> single big file won't be laid out 'sequentially' on the disk; the
>> filesystem tries to avoid filling up cylinder blocks. It puts enough
>> in given places that the seek costs are pretty low. So, after
>> reading
>> one bit a while, it'll seek somewhere and start another read. The
>> controller could issue that read to another component of the mirror;
>
> yes, the filesystenm layout may well make it leap around the
> drives. But
> what I am wanting to ensure is that if I issue a 128k block read to
> the drives then it will satisfy this by reading two lots of 64k,
> one from
> each mirror, in parallel. If this is true, and if I am sequentially
> reading blocks from a file, then even if the files moves about on
> the drives,
> the requests for blocks should always come from both drives at once.
>
> It isn't doung this, and I found a couple of interesting things - one
> being the 'stripe size' parameter inside the RAID controller which
> is set to 64k, and the oter being a comment somewhere that FreeBSD
> never
> issues more than 64k read requests at once. So I was speculating that
> what is happening is that I am reading 64k chunks, and is this is less
> than the stipre size then controller is almost always satisfying
> these from
> a single drive.
Drives typically have a track buffer of 2-8MB, which is well in
excess of the size of your read request. If a single drive can
satisfy the entire read with a single seek and a partial rotation,
then that's going to be faster than splitting the request up into two
separate physical I/O requests, one per drive, involving two seeks
and rotational latency of two drives.
RAID-1 is going to shine when you have multiple parallel accesses to
the volume, or when you're doing random I/O on a large file, or when
the file is so large that you have to follow indirect blocks to get
all of it. In those cases, both spindles are going to come to the
party.
Chris BeHanna
More information about the freebsd-amd64
mailing list