OpenZFS Lands A Very Nice Performance Optimization
A very nice feature pull request was merged to OpenZFS that can provide a nice performance improvement to this open-source ZFS file-system implementation to kick off the new year.
Alexander Motin with iXsystems has seen his uncached prefetch work land into OpenZFS. Motin summed up in the now-merged pull request:
OpenZFS developer Brian Behlendorf shared some benchmark results featuring this change and the performance there also looks very nice:
A nice way to start 2023 for OpenZFS... More details via this pull.
Alexander Motin with iXsystems has seen his uncached prefetch work land into OpenZFS. Motin summed up in the now-merged pull request:
This change gives ARC a knowledge about uncacheable buffers. It is passed to arc_read() and arc_write() and stored in ARC header. When remove_reference() drops last reference on the ARC header, it can either immediately destroy it, or if it is marked as prefetch, put it into new arc_uncached state. That state is scanned every second, looking for stale buffers that were not demand read (in which case they are evicted immediately).
...
With the combination of enabled prefetch and avoided memory copy this change improves sequential single-threaded read speed from a wide NVMe pool from 2049 to 3932 MiB/s. During write profiler shows 22% reduction of unhalted CPU cycles at the same throughput of 3653 MiB/s.
OpenZFS developer Brian Behlendorf shared some benchmark results featuring this change and the performance there also looks very nice:
A nice way to start 2023 for OpenZFS... More details via this pull.
74 Comments