Get the Most Performance in Azure for a Large Number of Data Disks
When you have more than 8 disks in a storage pool, you need to perform an extra step to get the full performance.
December 19, 2014
Q: I created a 16-disk storage space in my Azure virtual machine, but I'm not seeing 8000 IOPS for an 8K workload; why?
A: Most likely, when you created the storage space you didn't change the number of columns parameter from the default of 8 to 16, which is required (otherwise, all 16 disks won't be used in parallel and therefore won't see the combined 8000 IOPS—i.e., 500 per disk).
For example:
$disks = Get-StoragePool –FriendlyName StoragePool1 -IsPrimordial $false | Get-PhysicalDiskNew-VirtualDisk –FriendlyName VirtualDisk1 -ResiliencySettingName Simple –NumberOfColumns $disks.Count –UseMaximumSize –Interleave 256KBGet-VirtualDisk –FriendlyName VirtualDisk1 | Get-Disk | Initialize-Disk –Passthru | New-Partition –AssignDriveLetter –UseMaximumSize | Format-Volume –AllocationUnitSize 64K
Notice that the -NumberOfColumns parameter is set to the number of disks in the pool to fully utilize the underlying storage pool. The –Interleave parameter enables you to specify the number of bytes written in each underlying data disk in a virtual disk; 256KB works well for most workloads.
About the Author
You May Also Like