On Wed, Sep 12, 2007 at 02:24:56PM -0700, Adam Leventhal wrote: > I'm a bit surprised by these results. Assuming relatively large blocks > written, RAID-Z and RAID-5 should be laid out on disk very similarly > resulting in similar read performance. > > Did you compare the I/O characteristic of both? Was the bottleneck in > the software or the hardware?
Note that Pawel wrote: Pawel> I was using 8 processes, I/O size was a random value between 2kB Pawel> and 32kB (with 2kB step), offset was a random value between 0 and Pawel> 10GB (also with 2kB step). If the dataset's record size was the default (Pawel didn't say, right?) then the reason for the lousy read performance is clear: RAID-Z has to read full blocks to verify the checksum, whereas RAID-5 need only read as much as is requested (assuming aligned reads, which Pawel did seem to indicate: "2KB steps"). Peter Tribble pointed out much the same thing already. The crucial requirement is to match the dataset record size to the I/O size done by the application. If the app writes in bigger chunks than it reads and you want to optimize for write performance then set the record size to match the write size, else set the record size to match the read size. Where the dataset record size is not matched to the application's I/O size I guess we could say that RAID-Z trades off the RAID-5 write hole for a read-hole. Nico -- _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss