Hi everybody, I am considering moving my data pool from a two disk (10krpm) mirror layout to a three disk raidz-1. This is just a single user workstation environment, where I mostly perform compile jobs. From past experiences with raid5 I am a little bit reluctant to do so, as software raid5 has a major impact on write performance. Is this similar with raidz-1 or does the zfs stack work around the limitations that come with raid5 into play? How big would the penalty be? As an alternative I could swap the drives for bigger ones - but these would probably then be 7.2k rpm discs, because of costs. Any experiences or thoughts? TIA, Thomas
> from a two disk (10krpm) mirror layout to a three disk raidz-1.wrights will be unnoticeably slower for raidz1 because of parity calculation and latency of a third spindle. but reads will be 1/2 the speed of the mirror because it can split the reads between two disks. another way to say the same thing: a raidz will be the speed of the slowest disk in the array, while a mirror will be x(Number of mirrors) time faster for reads or the the speed of the slowest disk for wrights.
On Wed, 11 Nov 2009, Rob Logan wrote:> >> from a two disk (10krpm) mirror layout to a three disk raidz-1. > > wrights will be unnoticeably slower for raidz1 because of parity calculation > and latency of a third spindle. but reads will be 1/2 the speed > of the mirror because it can split the reads between two disks.But with raidz1 a data block will be split (striped) across two disks. Doesn''t that also speed up the reads (assuming that at least the zfs record size is requested)? We were told that scheduled reads from mirrors is done using an algorithm which do not assure that sequential reads will be read from different disks in a mirror pair. Sometimes sequential reads may be from the same side of the mirror. Bob -- Bob Friesenhahn bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
On Nov 11, 2009, at 4:30 PM, Rob Logan wrote:> >> from a two disk (10krpm) mirror layout to a three disk raidz-1. > > wrights will be unnoticeably slower for raidz1 because of parity > calculation > and latency of a third spindle. but reads will be 1/2 the speed > of the mirror because it can split the reads between two disks.... where "speed" is "latency." For bandwidth, a 3-device RAIDZ should be approximately the same as a 2-way mirror. For larger RAIDZ sets, bandwidth/space can scale.> > another way to say the same thing: > > a raidz will be the speed of the slowest disk in the array, while a > mirror will be x(Number of mirrors) time faster for reads or > the the speed of the slowest disk for wrights.The model I use for a pool with no cache or log devices, is that the number of small, random reads (IOPS) is approximately RAIDZ IOPS = IOPS of one device * N/(N-1) where N is the number of disks in in the RAIDZ set. This model completely falls apart for workloads other than small, random reads or if a cache or log device exists. It also explains why using a SSD for a cache device for workloads which make small, random reads can be a huge win :-) -- richard