On Fri, Sep 25, 2009 at 5:24 PM, James Lever <j...@jamver.id.au> wrote: > > On 26/09/2009, at 1:14 AM, Ross Walker wrote: > >> By any chance do you have copies=2 set? > > No, only 1. So the double data going to the slog (as reported by iostat) is > still confusing me and clearly potentially causing significant harm to my > performance.
Weird then, I thought that would be an easy explaination. >> Also, try setting zfs_write_limit_override equal to the size of the >> NVRAM cache (or half depending on how long it takes to flush): >> >> echo zfs_write_limit_override/W0t268435456 | mdb -kw > > That’s an interesting concept. All data still appears to go via the slog > device, however, under heavy load my responsive to a new write is typically > below 2s (a few outliers at about 3.5s) and a read (directory listing of a > non-cached entry) is about 2s. > > What will this do once it hits the limit? Will streaming writes now be sent > directly to a txg and streamed to the primary storage devices? (that is > what I would like to see happen). It's sets the max size of a txg to the given size. When it hits that number it flushes to disk. >> As a side an slog device will not be too beneficial for large >> sequential writes, because it will be throughput bound not latency >> bound. slog devices really help when you have lots of small sync >> writes. A RAIDZ2 with the ZIL spread across it will provide much >> higher throughput then an SSD. An example of a workload that benefits >> from an slog device is ESX over NFS, which does a COMMIT for each >> block written, so it benefits from an slog, but a standard media >> server will not (but an L2ARC would be beneficial). >> >> Better workload analysis is really what it is about. > > > It seems that it doesn’t matter what the workload is if the NFS pipe can > sustain more continuous throughput the slog chain can support. Only on large sequentials, small sync IO should benefit from the slog. > I suppose some creative use of the logbias setting might assist this > situation and force all potentially heavy writers directly to the primary > storage. This would, however, negate any benefit for having a fast, low > latency device for those filesystems for the times when it is desirable (any > large batch of small writes, for example). > > Is there a way to have a dynamic, auto logbias type setting depending on the > transaction currently presented to the server such that if it is clearly a > large streaming write it gets treated as logbias=throughput and if it is a > small transaction it gets treated as logbias=latency? (i.e. such that NFS > transactions can be effectively treated as if it was local storage but > minorly breaking the benefits of the txg scheduling). I'll leave that to the Sun guys to answer. -Ross _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss