Bob Friesenhahn wrote:
On Tue, 14 Jul 2009, Ross wrote:
My guess is something like it's single threaded, with each file dealt
with in order and requests being serviced by just one or two disks at
a time. With that being the case, an x4500 is essentially just
running off 7200 rpm SATA drives, which really is nothing special.
Keep in mind that there is supposed to be file level read-ahead. As
an example, ZFS is able to read from my array at up to 551 MB/second
when reading from a huge (64GB) file yet it is only managing
145MB/second or so for these 8MB files sequentially accessed by cpio.
This suggests that even for the initial read case that zfs is not
applying enough file level read-ahead (or applying it soon enough) to
keep the disks busy. 8MB is still pretty big in the world of files.
Perhaps it takes zfs a long time to decide that read-ahead is required.
I have yet to find a tunable for file level read-ahead. There are
tunables for vdev-level read-ahead but vdev read-ahead pretty minor
read-ahead and increasing it may cause more harm than help.
That is because file prefetch is dynamic. benr wrote a good blog on the
subject and includes a DTrace script to monitor DMU prefetches.
http://www.cuddletech.com/blog/pivot/entry.php?id=1040
-- richard
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss