Date: Tue, 29 Oct 2013 00:57:34 +0400 From: Slawa Olhovchenkov <slw@zxy.spb.ru> To: Allan Jude <freebsd@allanjude.com> Cc: freebsd-current@freebsd.org Subject: Re: ZFS txg implementation flaw Message-ID: <20131028205734.GW63359@zxy.spb.ru> In-Reply-To: <526ECE36.8010607@allanjude.com> References: <20131028092844.GA24997@zxy.spb.ru> <0F1D571E-2806-4392-A5EC-BE66A3C92BF7@gmail.com> <20131028181631.GV63359@zxy.spb.ru> <526EACB4.9030906@allanjude.com> <20131028204832.GA66537@zxy.spb.ru> <526ECE36.8010607@allanjude.com>
index | next in thread | previous in thread | raw e-mail
On Mon, Oct 28, 2013 at 04:51:02PM -0400, Allan Jude wrote: > On 2013-10-28 16:48, Slawa Olhovchenkov wrote: > > On Mon, Oct 28, 2013 at 02:28:04PM -0400, Allan Jude wrote: > > > >> On 2013-10-28 14:16, Slawa Olhovchenkov wrote: > >>> On Mon, Oct 28, 2013 at 10:45:02AM -0700, aurfalien wrote: > >>> > >>>> On Oct 28, 2013, at 2:28 AM, Slawa Olhovchenkov wrote: > >>>> > >>>>> I can be wrong. > >>>>> As I see ZFS cretate seperate thread for earch txg writing. > >>>>> Also for writing to L2ARC. > >>>>> As result -- up to several thousands threads created and destoyed per > >>>>> second. And hundreds thousands page allocations, zeroing, maping > >>>>> unmaping and freeing per seconds. Very high overhead. > >>>>> > >>>>> In systat -vmstat I see totfr up to 600000, prcfr up to 200000. > >>>>> > >>>>> Estimated overhead -- 30% of system time. > >>>>> > >>>>> Can anybody implement thread and page pool for txg? > >>>> Would lowering vfs.zfs.txg.timeout be a way to tame or mitigate this? > >>> vfs.zfs.txg.timeout: 5 > >>> > >>> Only x5 lowering (less in real case with burst writing). And more fragmentation on writing and etc. > >>> _______________________________________________ > >>> freebsd-current@freebsd.org mailing list > >>> http://lists.freebsd.org/mailman/listinfo/freebsd-current > >>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > >> >From my understanding, increasing the timeout so you are doing fewer > >> transaction groups, would actually be the way to increase performance, > >> at the cost of 'bursty' writing and the associated uneven latency. > > This (increasing the timeout) is dramaticaly decreasing read > > performance by very high IO burst. > It shouldn't affect read performance, except during the flush operations > (every txg.timeout seconds) Yes, I talk about this time. > If you watch with 'gstat' or 'gstat -f ada.$' you should see the cycle > > reading quickly, then every txg.timeout seconds (and for maybe longer), > it flushes the entire transaction group (may be 100s of MBs) to the > disk, this high write load may make reads slow until it is finished. Yes. And read may delayed for some seconds. This is unacceptable for may case.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131028205734.GW63359>
