On Thu, Dec 1, 2022 at 9:21 AM Michael Loftis <mlof...@wgops.com> wrote: > > > > On Thu, Dec 1, 2022 at 06:40 Mladen Gogala <gogala.mla...@gmail.com> wrote: >> >> On 11/30/22 20:41, Michael Loftis wrote: >> >> >> ZFS snapshots don’t typically have much if any performance impact versus >> not having a snapshot (and already being on ZFS) because it’s already doing >> COW style semantics. >> >> Hi Michael, >> >> I am not sure that such statement holds water. When a snapshot is taken, the >> amount of necessary I/O requests goes up dramatically. For every block that >> snapshot points to, it is necessary to read the block, write it to the spare >> location and then overwrite it, if you want to write to a block pointed by >> snapshot. That gives 3 I/O requests for every block written. NetApp is >> trying to optimize it by using 64MB blocks, but ZFS on Linux cannot do that, >> they have to use standard CoW because they don't have the benefit of their >> own hardware and OS. And the standard CoW is tripling the number of I/O >> requests for every write to the blocks pointed to by the snapshot, for every >> snapshot. CoW is a very expensive animal, with horns.
And if you want to know more, ARS wrote a good ZFS 101 article -- the write semantics I described in overview are on page three, https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/3/ -- "Genius might be described as a supreme capacity for getting its possessors into trouble of all kinds." -- Samuel Butler