Open-E Knowledgebase
Email to friend
Multiple emails allowed. Separate with commas



[JDSS] performance tuning for random I/O workload on zvols

Random I/O workload tuning

You can improve random I/O performance on your ZVOL device by using a smaller "Volume block size" parameter. 

Depending on the disk type used for your storage Pool, the smallest recommended values are as follows:

  • for HDD-based Pools: 32 KiB
  • for SSD-based Pools: 16 KiB

WARNING: remember to configure the Volume block size before starting the production. The changes affect only the data not yet written to the storage, meaning that data already stored will be unaffected.

The default Volume block size (64 KiB) is a compromise between random and sequential I/O performance. To achieve better random I/O, a smaller Volume block size should be used. 

However, this comes with a tradeoff: as ZFS generates an ~300-byte checksum for every block regardless of the configured size, smaller Volume block size produces more checksums. This creates a bigger overhead for data which might affect the overall available storage size.

Additional performance tuning tips

To further tune the performance of your ZVOL-based storage you can refer to the following steps:

The Knowledge base is managed by Open-E data storage software company.