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
This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig654D26BA0DFD027D19D9F936 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable 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 o= ne (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-0= 2-19 09:17:50.058020997 +0200 >> @@ -47,6 +47,11 @@ >> uint64_t zfs_write_limit_override =3D 0; >> extern uint64_t zfs_write_limit_min; >> >> +SYSCTL_DECL(_vfs_zfs); >> +TUNABLE_ULONG("vfs.zfs.write_limit_override", &zfs_write_limit_overri= de); >> +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 =3D 0; >> >=20 >=20 > 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=20 compromise. But this reduced my avarage rsync rate to 30MB/s. Without zfs_write_limit_override and vfs.zfs.txg.timeout=3D1 I can get=20 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=20 to throttle ZFS _a bit_. Three 5400rpms should surely manage more than=20 30MB/s. Eventually I can transfer 65MB/s. Thanks, -Harry --------------enig654D26BA0DFD027D19D9F936 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.13 (FreeBSD) iEYEARECAAYFAkuI1nQACgkQLDqVQ9VXb8j/YACgmIa6Wu8eG7Y+k/StFfoSFGJ6 XVkAnRFzLQP6yghaibBznwK4+gNE5WPb =7vuk -----END PGP SIGNATURE----- --------------enig654D26BA0DFD027D19D9F936--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B88D66E.9040609>