Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 May 2011 20:55:56 -0700
From:      Freddie Cash <fjwcash@gmail.com>
To:        Jeremy Chadwick <freebsd@jdc.parodius.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ZFS: How to enable cache and logs.
Message-ID:  <BANLkTi=e1ZV0GkC7twCAUTu_jSMDdhBH0w@mail.gmail.com>
In-Reply-To: <20110512033626.GA52047@icarus.home.lan>
References:  <4DCA5620.1030203@dannysplace.net> <4DCB455C.4020805@dannysplace.net> <alpine.GSO.2.01.1105112146500.20825@freddy.simplesystems.org> <20110512033626.GA52047@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 11, 2011 at 8:36 PM, Jeremy Chadwick
<freebsd@jdc.parodius.com> wrote:
> On Wed, May 11, 2011 at 09:51:58PM -0500, Bob Friesenhahn wrote:
>> On Thu, 12 May 2011, Danny Carroll wrote:
>> >
>> >Replying to myself in order to summarise the recommendations (when usin=
g
>> >v28):
>> >- Don't use SSD for the Log device. =C2=A0Write speed tends to be a pro=
blem.
>>
>> DO use SSD for the log device. =C2=A0The log device is only used for
>> synchronous writes. =C2=A0Except for certain usages (E.g. database and
>> NFS server) most writes will be asynchronous and never be written to
>> the log. =C2=A0Huge synchronous writes will also bypass the SSD log
>> device. The log device is for reducing latency on small synchronous
>> writes.
>
> Bob, please correct me if I'm wrong, but as I understand it a log device
> (ZIL) effectively limits the overall write speed of the pool itself.

Nope.  Using a separate log device removes sync writes from the I/O
path of the rest of the pool, thus increasing the total write
throughput for the pool.

> Danny might also find this URL useful:
>
> http://constantin.glez.de/blog/2011/02/frequently-asked-questions-about-f=
lash-memory-ssds-and-zfs

Read the linked articles.  For example:
http://constantin.glez.de/blog/2010/07/solaris-zfs-synchronous-writes-and-z=
il-explained

Most sync writes go to the ZIL.  If the ZIL is part of the pool, then
the pool has to issue two separate writes (once to the ZIL, then later
to the pool as part of the normal async txg).  If the ZIL is a
separate device, then there's no write contention with the rest of the
pool.

Not every sync write goes to the ZIL.  Only writes under a certain
size (64 KB or something like that).

Every OpenSolaris, Oracle Solaris, Nexenta admin will recommend
getting an enterprise-grade, write-optimised, SLC-based SSD
(preferably with a supercap) for use as the SLOG device.  Especially
if you're using ZFS for anything database-related, or serving files
over NFS, everyone says the same:  get an SSD for SLOG usage.

Why would it be any different for ZFS on FreeBSD?

There are plenty of benchmarks online and in the zfs-discuss mailing
list that shows the benefits to using an SSD-based SLOG.

--=20
Freddie Cash
fjwcash@gmail.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=e1ZV0GkC7twCAUTu_jSMDdhBH0w>