ZFS write stalls (starving reads) and tuning zfs_write_limit_override

Harald Schmalzbauer h.schmalzbauer at omnilan.de
Sat Feb 27 08:23:19 UTC 2010


Sam Fourman Jr. schrieb am 25.02.2010 12:58 (localtime):
>> Hi,
>>
>> What I posted was not a patch, but just the lines need to be added to dsl_pool.c and it should work for either 8 or CURRENT.
>> Here is a patch for 8-STABLE that I just generated, can you try that one (pasting in the email in case the email eats the attachment
>> ):
>>
>> --- .zfs/snapshot/orig/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c        2009-08-24 07:30:23.677549074 +0300
>> +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c   2010-02-19 09:17:50.058020997 +0200
>> @@ -47,6 +47,11 @@
>>  uint64_t zfs_write_limit_override = 0;
>>  extern uint64_t zfs_write_limit_min;
>>
>> +SYSCTL_DECL(_vfs_zfs);
>> +TUNABLE_ULONG("vfs.zfs.write_limit_override", &zfs_write_limit_override);
>> +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, zfs_write_limit_override, CTLFLAG_RW, &zfs_write_limit_override, 0,
>> +    "Override maximum TXG size");
>> +
>>  kmutex_t zfs_write_limit_lock;
>>
>>  static pgcnt_t old_physmem = 0;
>>
> 
> 
> what setting have you found to be the best for zfs_write_limit_override

Unfortunately I couldn't find a sensible value. 250M was the best 
compromise. But this reduced my avarage rsync rate to 30MB/s.
Without zfs_write_limit_override and vfs.zfs.txg.timeout=1 I can get 
65MB/s average, even with the mentioned pauses (peak is almost 90MB/s).
Today I'm aware that 5400rpm spindles are not well suitable for ZFS, but 
for big backup servers I'd take them again. If we could just find a way 
to throttle ZFS _a bit_. Three 5400rpms should surely manage more than 
30MB/s. Eventually I can transfer 65MB/s.

Thanks,

-Harry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20100227/667ac4c1/signature.pgp


More information about the freebsd-fs mailing list