[zfs-discuss] Pushing send/receive data through the ZIL/SLOG

Sam Van den Eynde svde.tech at gmail.com
Wed May 25 08:06:59 EDT 2016


​I am trying to configure a pool in such a way that an SLOG device buffers
literally all of the incoming writes when receiving zfs streams. The main
goal is to limit the time the sender needs to be connected to the receiver.
I don't mind the time the receiver needs to flush the data to the pool.

The received data size is small, typically about 500-600 MB of data per
operation. What I ideally want is all of this to be written asap to the
SLOG device (which has stable IOPS) after which the send/receive operation
completes and the system can continue to push the data to the spinning rust
on it's own tempo.

I have tried manipulating sync (set to always) and zil_slog_limit, and I
have also looked into zfs_immediate_write_sz. However it seems I can't push
the SLOG usage. Most I got out of it was 7-8MB actual usage for a few
seconds only, when receiving 500MB of data with a 2GB SLOG device. Overall,
SLOG space used remains virtually 0 (a few KB). What I would like to see is
that the SLOG fills up to 450-500 MB, and then offloads as the pool allows.

Any hints or ideas on how to tackle this?

​Kind regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.zfsonlinux.org/pipermail/zfs-discuss/attachments/20160525/2ff12d66/attachment-0001.html>

More information about the zfs-discuss mailing list