On Mon, 16 Jul 2012, Bob Friesenhahn wrote:

On Mon, 16 Jul 2012, Stefan Ring wrote:

It is normal for reads from mirrors to be faster than for a single disk
because reads can be scheduled from either disk, with different I/Os being
handled in parallel.

That assumes that there *are* outstanding requests to be scheduled in
parallel, which would only happen with multiple readers or a large
read-ahead buffer.

That is true. Zfs tries to detect the case of sequential reads and requests to read more data than the application has already requested. In this case the data may be prefetched from the other disk before the application has requested it.

This is my understanding of zfs: it should load balance read requests even for a single sequential reader. zfs_prefetch_disable is the default 0. And I can see exactly this scaling behaviour with sas disks and with scsi disks, just not on this sata pool.

zfs_vdev_max_pending is already tuned down to 3 as recommended for sata disks, iostat -Mxnz 2 looks something like

    r/s    w/s   Mr/s   Mw/s wait actv wsvc_t asvc_t  %w  %b device
  507.1    0.0   63.4    0.0  0.0  2.9    0.0    5.8   1  99 c13t5d0
  477.6    0.0   59.7    0.0  0.0  2.8    0.0    5.8   1  94 c13t4d0

when reading from the zfs mirror. The default zfs_vdev_max_pending=10 leads to much higher service times in the 20-30msec range, throughput remains roughly the same.

I can read from the dsk or rdsk devices in parallel with real platter speeds:

dd if=/dev/dsk/c13t4d0s0 of=/dev/null bs=1024k count=8192 &
dd if=/dev/dsk/c13t5d0s0 of=/dev/null bs=1024k count=8192 &

                    extended device statistics
    r/s    w/s   Mr/s   Mw/s wait actv wsvc_t asvc_t  %w  %b device
 2467.5    0.0  134.9    0.0  0.0  0.9    0.0    0.4   1  87 c13t5d0
 2546.5    0.0  139.3    0.0  0.0  0.8    0.0    0.3   1  84 c13t4d0

So I think there is no problem with the disks.

Maybe it's a corner case which doesn't matter in real world applications? The random seek values in my bonnie output show the expected performance boost when going from one disk to a mirrored configuration. It's just the sequential read/write case, that's different for sata and sas disks.


Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
zfs-discuss mailing list

Reply via email to