Optimizing performance with SLOG/L2ARC

Daniel Kalchev daniel at digsys.bg
Wed Aug 19 16:29:59 UTC 2015


> On 19.08.2015 г., at 19:10, PK1048 <paul at pk1048.com> wrote:
> 
> On Aug 19, 2015, at 12:02, Schweiss, Chip <chip at innovates.com> wrote:
> 
>>  ZFS doesn't play well with the
>> ZIL on the pool with SSDs.   Even an SSD of the same type as the pool
>> devices as the log device will fix the latency problem and throughput
>> problems.
> 
> If your load is sync writes then you decidedly want a LOG device, even if it is the same type as the devices in the pool. For the reasons others have posted.
> 

This is because of the reason I mentioned earlier. When you don’t have separate SLOG, ZFS will allocate the ZIL record from the pool blocks, then when the blocks are at their intended location, delete that ZIL record from the pool. This plays bad with SSDs. You also get much fragmentation.

When you have SLOG, ZFS will write the ZIL record to the SLOG, then (batch) write the blocks to their intended place, then forget about the SLOG (it’s not freed, just overwritten). This plays much better with SSDs.

You should get much better performance, with pure-SSD pool, if you allocate small portion of the same SSD for SLOG. I know it sounds counderintuitive. :)
Of course, much better performance with separate SSD for the SLOG.

Daniel



More information about the freebsd-fs mailing list