Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
OpenZFS Sees 3x Throughput Boost For ZVOL Sync Write Performance
A Phoronix reader tipped us off that around the start of April was a big performance improvement that was merged.
Up until this change, sync writes to a ZVOL were done serially. But with the new code, ZVOLs are processed concurrently with sync writes in parallel. Following this change, "The result is that the throughput of sync writes is tripled."
ZFS co-founder Matthew Ahrens worked on this improvement. He further noted in the commit as to the performance expectations:
We used `diskspd` to generate a workload with 4 threads, doing 1MB writes to random offsets in the zvol. Without this change we get 231MB/s, and with the change we get 728MB/s, which is 3.15x the original performance.
We ran a real-world workload, restoring a MSSQL database, and saw throughput 2.5x the original.
We saw more modest performance wins (typically 1.5x-2x) when using MC/S with 4 connections, and with different number of client threads (1, 8, 32).
More details on this big performance win via the GitHub commit.