> From: Ross Walker [mailto:rswwal...@gmail.com]
> Sent: Friday, June 17, 2011 9:48 PM
> 
> The on-disk buffer is there so data is ready when the hard drive head
lands,
> without it the drive's average rotational latency will trend higher due to
> missed landings because the data wasn't in buffer at the right time.
> 
> The read buffer is to allow the disk to continuously read sectors whether
the
> system bus is ready to transfer or not. Without it, sequential reads
wouldn't
> last long enough to reach max throughput before they would have to pause
> because of bus contention and then suffer a rotation of latency hit which
> would kill read performance.

And it turns out ... Ross is the winner.  ;-)

My hypothesis wasn't right, and whoever said a single disk would hog the bus
in an idle state, that's also wrong.

Conclusion:  Yes it matters to enable the write_cache.  But the reason it
matters is to ensure the right data is present at the right time.  NOT
because of any idle bus blocking.

Here's the test:
I tested writing to a bunch (4) of disks simultaneously at maximum
throughput, with the write_cache enabled.  This is on a 6Gbit bus, they all
performed 1.0 Gbit/sec which was precisely the mfgr spec.  Then I disabled
write_cache on all the disks and repeated the test.  They all dropped to 750
Mbit/sec.

If the idle bus contention were correct, then the total bus speed would have
been limited to the max throughput of a single disk (1Gbit).  But I was
easily able to sustain 3Gbit, thus disproving the idle bus contention.

If the filesystem write buffer were making the disk write_cache irrelevant,
as I conjectured, then the total throughput would have been the same,
regardless of whether the write_cache was enabled or disabled.  Since
performance dropped with write_cache disabled, it disproves my hypothesis.

No further testing was necessary.  I'm not interested in how much
performance difference there is - or under which specific conditions they
occur.  I am only interested in the existence of a performance difference.
So the conclusion is yes, you want to enable your disk write cache (assuming
all the data on your disk is managed by ZFS.)

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to