Date: Thu, 24 Sep 2015 21:11:07 -0400 From: Paul Kraus <paul@kraus-haus.org> To: Quartz <quartz@sneakertech.com>, FreeBSD questions <freebsd-questions@freebsd.org> Subject: Re: sync vs async vs zfs Message-ID: <BB74A712-819C-4FD9-9FB1-A5A456731AC8@kraus-haus.org> In-Reply-To: <560462C4.6030106@sneakertech.com> References: <56042774.6070404@sneakertech.com> <98BFE313-523F-4A2C-82BB-8683466068FB@kraus-haus.org> <560462C4.6030106@sneakertech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 24, 2015, at 16:53, Quartz <quartz@sneakertech.com> wrote: >> Very short answer=85 >=20 > OK, thanks. So far that lines up with what I thought I knew. I still = think I might be fuzzy on what constitutes an 'app' in this context = though, presumably you're also counting services like nfs, etc? Anything that generates a FS read or write request :-) So yes, the = kernel NFS server counts. > Basically, when considering just boring file copies, which things are = or are not async and when? Under what circumstances is sync actually = used in the real world? I expect that system utilities like cp and tar do not do sync writes. = sync writes are supposed to be a special case, used only when needed. I = run into them with VBox writing to <>.vmdk files. > you can >> use a device which is much faster than the main zpool devices >=20 > Also >=20 > 1) A SLOG's only purpose is to reduce fragmentation and increase sync = speed, correct? Re: speed, using a SLOG that's the same speed as the = other drives in a pool is mostly pointless, right? Correct. And I proved that on one of my servers in pre-prodcuction = testing. I was able to find the bottleneck using iozone -o and then = added a mirrored pair of SSD as SLOG write performance went _down_ for = 4KB random writes! I then tested the SSDs on their own and confirmed = that the performance I was seeing was the native performance of the = SSDs. I asked for recommendations of a good, fast SSD over on the = OpenZFS list and ordered a pair of Intel 200 GB S3710 SSDs, they are = back ordered, so the server awaits full production use. =20 > 2) Async doesn't really care how your pool is constructed, and a SLOG = is really the only thing that seriously makes a difference for sync, = correct? Not quite true. Once you get through the ARC the configuration of the = zpool _will_ matter to performance. In fact, for reads, unless you = workload closely matches the prefetch algorithm, the zpool layout will = have an effect on performance. Remember, as a general rule, you get one = spindle=92s (drive=92s) worth of performance per top level vdev in the = zpool. So a zpool with one vdev that is an 8 drive RAIDz2 will have much = less performance than a set of 4 2-way mirrors. -- Paul Kraus paul@kraus-haus.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BB74A712-819C-4FD9-9FB1-A5A456731AC8>