Microsoft Storage Spaces optimizes performance by striping data across multiple physical disks. The stripe size (interleave size) is set by default to 256 KB. This means that Microsoft Storage Spaces stores 256 KB of data per stripe on each disk. You can configure the stripe size when creating a new VD but only by using PowerShell.
To maximize performance, ensure that the interleave size is as large as the most common I/O of your workload. I/O data that exceeds the interleave size is split into multiple stripes, turning one write operation into multiple write operations and reducing performance. Interleave size is set in bytes.
Run the following PowerShell command to create a VD with a specific interleave size.
New-VirtualDisk -FriendlyName <vdName> -StoragePoolFriendlyName <poolName> -ProvisioningType Fixed -ResiliencySettingName <Simple| Mirror| Parity> -PhysicalDiskRedundancy <1|2> -NumberOfColumns <#ofColumns> –Interleave <#ofBytes> -StorageTiers <ssdTierObject, hddTierObject> -StorageTierSizes <ssdTierSize , hddTierSize>
For example, a new VD is created called exampleVD3 in storage pool MyPool1. This VD is a two-way mirror. The most common I/O size for the workload is 64 KB. For this VD, the Interleave attribute is set to 65536 (64 KiB converted to bytes).
New-VirtualDisk -FriendlyName “exampleVD3” -StoragePoolFriendlyName “MyPool1” -ProvisioningType Fixed -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1 –NumberOfColumns 4 –Interleave 65536 –StorageTiers $ssd_tier, $hdd_tier –StorageTierSizes 50GB, 8TB