Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Feb 2010 09:23:10 +0100
From:      Harald Schmalzbauer <h.schmalzbauer@omnilan.de>
To:        "Sam Fourman Jr." <sfourman@gmail.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ZFS write stalls (starving reads) and tuning zfs_write_limit_override
Message-ID:  <4B88D66E.9040609@omnilan.de>
In-Reply-To: <11167f521002250358i46a09fb6j82aaddbd8e0b8334@mail.gmail.com>
References:  <4B8649F4.4070303@omnilan.de>	 <1C136B0A-E98F-4F93-8480-7FACD3FE4E4B@gmail.com> <11167f521002250358i46a09fb6j82aaddbd8e0b8334@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
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


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.13 (FreeBSD)

iEYEARECAAYFAkuI1nQACgkQLDqVQ9VXb8j/YACgmIa6Wu8eG7Y+k/StFfoSFGJ6
XVkAnRFzLQP6yghaibBznwK4+gNE5WPb
=7vuk
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B88D66E.9040609>