Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 May 2009 13:30:36 -0700
From:      Freddie Cash <fjwcash@gmail.com>
To:        freebsd-performance@freebsd.org, freebsd-questions@freebsd.org
Subject:   Re: filesystem: 12h to delete 32GB of data
Message-ID:  <b269bc570905061330m8c5196av77684142462ca8d7@mail.gmail.com>
In-Reply-To: <4A01E343.4020608@infracaninophile.co.uk>
References:  <70C0964126D66F458E688618E1CD008A0793EBD4@WADPEXV0.waddell.com> <4A01E343.4020608@infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 6, 2009 at 12:21 PM, Matthew Seaman
<m.seaman@infracaninophile.co.uk> wrote:
> Gary Gatten wrote:
>> OT now, but in high i/o envs with high concurrency needs, RAID5 is
>> still the way to go, esp if 90% of i/o is reads. Of course it depends
>> on file size / type as well... Anyway, let's sum it up with "a
>> storage subsystem is only as fast as its slowest link"
>
> It's not just the balance of reads over writes. =C2=A0It's the size and
> sequential location of the IO requests. =C2=A0RAID5 is good for sequentia=
l reads -- eg.
> streaming a video -- where the system can read whole blocks from all the
> drives involved, calculate parity over the whole lot and then push all th=
at
> blob of data up to the CPU.
>
> RAID5 is pretty pessimal if your usage pattern is small reads or writes
> randomly scattered over your storage area -- eg. typical RDBMS behaviour
> -- which works a great deal better on RAID10.
>
> I'd also contend that the essential difference between a really good fast
> hardware raid controller and something disappointingly mundane is a decen=
t
> amount of non-volatile cache memory. =C2=A0For most H/W raid that equates=
 to
> using a battery backup unit. =C2=A0I've been thinking though that a few G=
B of
> fast solid-state hard drive configured as a gjournal for a RAID10 (ie
> gstripe +gmirror) might achieve the same effect for rather less outlay...=
 =C2=A0It
> would probably not be too shabby with RAID5 even, but of course you'ld
> lose the benefit of offloading parity calculations onto the RAID
> controller's CPU. Still, modern multi-core CPUs are probably fast enough =
nowadays to
> make that viable for many purposes.

Depending on the number of drives you are using, ZFS would also be
worth looking at.  The raidz implementation works quite nicely, and
(in theory) doesn't suffer from the major issues that RAID5/6 does.
It also does implicit striping across all vdevs, so you can make some
very fancy RAID layouts (each vdev can be mirrored, raidz1, raidz2, or
just a bunch of disks).

I don't know if the version of ZFS in FreeBSD 7.x supports hybrid
pools, but the version in FreeBSD 8.0 should, which lets you add SSDs
to the pool to be used automatically as "cache" in-between RAM and
harddrives.

--=20
Freddie Cash
fjwcash@gmail.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b269bc570905061330m8c5196av77684142462ca8d7>