Tonight I was reading about ZFS and ZIL devices. I clarified a few things in my mind.
ZIL versus SLOG
ZFS uses a ZIL (ZFS Intent Log). This can be on the same device as the zpool. If the ZIL is on another device, that device is known as a SLOG (Separate Log). Thus, the ZIL is on the SLOG. It can be very beneficial if the SLOG is a much faster device than the zpool devices.
At one time, if your ZIL died, this was a very disastrous situation. This is no longer the case. If you read this post from April 2010, you can see that a dead ZIL is not fatal. You may lose some data, but your zpool will be fine.
When does ZIL matter?
ZIL matter most when you have synchronous IO. If the IO operations are asynchronous, it does nothing. For instance, NFS is fully synchronous writes, so a fast ZIL helps there. Therefore, putting your ZIL onto an SSD should show a performance increase. For the record, the writes almost must be small. Large writes skip the ZIL as a performance optimization.
You could monitor ZIL activity using ‘zdb -i’ to examine the intent log.
I have purchased an SSD for a ZIL log, and I’ve recently benchmarked it, twice. But I will test it again once I get my system running. Hopefully it’ll fly faster with it, than without it.
My thanks to…
The above points came out of an IRC discussion between myself, ryao, and bdrewery. Thanks folks.