Date: Mon, 24 Jan 2011 14:55:51 +0100 From: Olivier Smedts <olivier@gid0.org> To: Jeremy Chadwick <freebsd@jdc.parodius.com> Cc: freebsd-fs@freebsd.org Subject: Re: Write cache, is write cache, is write cache? Message-ID: <AANLkTik_rii-F_QWTP3OdyTS0gx1tDxv6--2LGGF6Ear@mail.gmail.com> In-Reply-To: <20110122111045.GA59117@icarus.home.lan> References: <1ABA88EDF84B6472579216FE@Octa64> <20110122111045.GA59117@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, 2011/1/22 Jeremy Chadwick <freebsd@jdc.parodius.com>: > On Sat, Jan 22, 2011 at 10:39:13AM +0000, Karl Pielorz wrote: >> I've a small HP server I've been using recently (an NL36). I've got >> ZFS setup on it, and it runs quite nicely. >> >> I was using the server for zeroing some drives the other day - and >> noticed that a: >> >> =A0dd if=3D/dev/zero of=3D/dev/ada0 bs=3D2m >> >> Gives around 12Mbyte/sec throughput when that's all that's running >> on the machine. >> >> Looking in the BIOS is a "Enabled drive write cache" option - which >> was set to 'No'. Changing it to 'Yes' - I now get around >> 90-120Mbyte/sec doing the same thing. >> >> Knowing all the issues with IDE drives and write caches - is there >> any way of telling if this would be safe to enable with ZFS? (i.e. >> if the option is likely to be making the drive completely ignore >> flush requests?) - or if it's still honouring the various 'write >> through' options if set on data to be written? >> >> I'm presuming DD won't by default be writing the data with the >> 'flush' bit set - as it probably doesn't know about it. >> >> Is there anyway of testing this? (say using some tool to write the >> data using either lots of 'cache flush' or 'write through' stuff) - >> and seeing if the performance drops back to nearer the 12Mbyte/sec? >> >> I've not enabled the option with the ZFS drives in the machine - I >> suppose I could test it. >> >> Write performance on the unit isn't that bad [it's not stunning] - >> though with 4 drives in a mirrored set - it probably helps hide some >> of the impact this option might have. > > I'm stating the below with the assumption that you have SATA disks with > some form of AHCI-based controller (possibly Intel ICHxx or ESBx > on-board), and *not* a hardware RAID controller with cache/RAM of its > own: > > Keep write caching *enabled* in the system BIOS. =A0ZFS will take care of > any underlying "issues" in the case the system abruptly loses power > (hard disk cache contents lost), since you're using ZFS mirroring. =A0The > same would apply if you were using raidz{1,2}, but not if you were using > ZFS on a single device (no mirroring/raidz). =A0In that scenario, expect > data loss; but the same could be said of any non-journalling filesystem. Could you explain this behavior ? I don't see why ZFS would not ask a single disk to flush its caches like in a mirror/raidz. It's necessary for the ZIL, and to avoid FS corruption. > I have no idea why your BIOS setting for this option was disabled. =A0I d= o > not know if it's the factory default either; you would have to talk to > HP about that, or spend the time figuring out who was in the system BIOS > last and how/if/why they messed around (the number of possibilities for > why the option is disabled are endless). > > You can use bonnie++ (ports/benchmarks/bonnie++) if you wish to do > throughput and/or benchmark testing of sorts. > > -- > | Jeremy Chadwick =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 jdc@parodius.com | > | Parodius Networking =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 http://= www.parodius.com/ | > | UNIX Systems Administrator =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Mountain = View, CA, USA | > | Making life hard for others since 1977. =A0 =A0 =A0 =A0 =A0 =A0 =A0 PGP= 4BD6C0CB | > > _______________________________________________ > freebsd-fs@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org" > --=20 Olivier Smedts=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0 _ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 ASCII ribbon campaign ( ) e-mail: olivier@gid0.org=A0 =A0 =A0 =A0 - against HTML email & vCards=A0 X www: http://www.gid0.org=A0 =A0 - against proprietary attachments / \ =A0 "Il y a seulement 10 sortes de gens dans le monde : =A0 ceux qui comprennent le binaire, =A0 et ceux qui ne le comprennent pas."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTik_rii-F_QWTP3OdyTS0gx1tDxv6--2LGGF6Ear>