Demystifying OpenZFS 2.0
EDIT: There is a now an incorrect response to this post of mine stating that I forgot to mention the ZIL SLOG -- but the poster doesn't understand how the ZIL SLOG actually works unfortunately. :(<p>I applaud OpenZFS for these major improvements, but its performance is not competitive with some of the commercial offerings, even if OpenZFS is a more easily administered solution.<p>The main issue with OpenZFS performance is its write speed.<p>While OpenZFS has excellent read caching via ARC and L2ARC, it doesn't enable NVMe write caching nor does it allow for automatic tiered storage pools (which can have NVMe paired with HDDs.)<p>This means that large writes, those which exceed the available RAM, will drop down to the HDD write speed quite quickly instead of achieving wire speed.  Which means I get write speeds of 300 MBps versus 10 GBps wirespeed.<p>The solutions competitors have implemented are:<p>- SSD read-write caching, usually using mirrored NVMe drives to ensure redundancy.<p>- SSD tiering, which is including your SSDs in your storage pool.  Frequently accessed data is moved onto the SSDs while infrequently accessed data is moved to the HDDs.<p>Without these features, my QNAP (configured with SSD tiering) kicks the pants off of ZFS on writes that do not fit into memory.<p>References:<p>[1] QNAP Tiering: <a href="https://www.qnap.com/solution/qtier/en-us/" rel="nofollow">https://www.qnap.com/solution/qtier/en-us/</a><p>[2] QNAP SSD Read-Write Caching: <a href="https://www.qnap.com/solution/ssd-cache/en/" rel="nofollow">https://www.qnap.com/solution/ssd-cache/en/</a><p>[3] Synology SSD Read-Write Caching: <a href="https://kb.synology.com/en-my/DSM/help/DSM/StorageManager/genericssdcache?version=6" rel="nofollow">https://kb.synology.com/en-my/DSM/help/DSM/StorageManager/ge...</a>