
close
close
In a previous post, I discussed why you might use more than one data disk to store data in Azure. This approach lets you exceed the limit of 1023 GB per volume, and it provides a multiplier effect for performance. A reader commented on one of my posts that the multiplier effect wasn’t quite so clean as Microsoft might have us believe, and there are more than a few bloggers out there with the evidence to back up that statement. I decided that I needed to test this for myself, tuning the disks and Storage Spaces to match the stress test tool that I would be using.
I deployed a DS2 virtual machine using Azure Resource Manager in North Europe. This machine runs on an Intel Xeon processor host with two virtual processors and 7 GB RAM, where about 1.7 GB was used.
I assigned several Standard Storage data disks with no caching to this machine to create four different tests:
advertisment
Each data disk was deployed into a different Azure Storage account to ensure that no storage account could be a bottleneck on the scalability of performance.
Storage Spaces was used to aggregate multiple data disks; a configuration of simple virtual disks with 64 KB interleaves was used. In all tests, the single data volume was formatted with NTFS and a 64 KB allocation unit size.
The configuration of the test lab (Image Credit: Aidan Finn)
Diskspd.exe -b4K -d60 -h -o8 -t4 -si -c5000M f:\io.dat
Note that 64K is a constant in the configuration:
This configuration lets us optimize the test by allowing the 4K reads to be aligned.
A single standard data disk was assigned to the virtual machine and formatted as F: as detailed above. DskSpd was executed and produced 499.69 IOPS, almost the 500 IOPS that a Standard Storage data disk should provide. I can accept that. This means that my baseline test should be good.
DskSpd results with a single Standard Storage data disk (Image Credit: Aidan Finn)
advertisment
If I want 1000 IOPS, then in theory I should deploy two x Standard Storage data disks, each capable of 500 IOPS and aggregate them using Storage Spaces. This test should tell us what’s really possible.
Two data disks, each in different Standard storage accounts were assigned to the virtual machine and aggregated into single simple Storage Spaces virtual disk. I ran DskSpd and got 998.84 IOPS. So, I got roughly double the IOPS by doubling the number of disks, exactly as expected.
Note that when I messed around with DskSpd, I did get much lower results. For example, I got 793.02 IOPS with 64 K reads instead of 4K in the documented tests.
DskSpd results with two Standard Storage data disks (Image Credit: Aidan Finn)
I destroyed the Storage Spaces configuration, added another data disk in a third Standard storage account, and rebuilt the storage. I expected three times the performance of a single Standard Storage data disk, which is 500 IOPS. DskSpd reached 1499.66. So far, so good.
DskSpd results with three Standard Storage data disks (Image Credit: Aidan Finn)
I decided to push this spec of DS2 machine to its max and added a fourth data disk in a new Standard Storage account. I rebuilt Storage Spaces and reran the tests. Once again, Azure performed as one would expect providing nearly four times the performance of a single Standard Storage data disk: 1997.71 IOPS.
DskSpd results with four Standard Storage data disks (Image Credit: Aidan Finn)
I observed linear growth as I added each 500 IOPS capable Standard Storage data disk; each disk added performance, as marketed and blogged by Microsoft. Note that performance wasn’t always at a flat 500, 1000, 1500, or 2000 IOPS. There were lows and highs, but the variance wasn’t too much. At times, the IOPS even exceeded the Microsoft-enforced maximum — but not for long before Storage QoS kicked in!
Linear growth in performance by adding Standard Storage data disks (Image Credit: Aidan Finn)
advertisment
More from Aidan Finn
advertisment
Petri Newsletters
Whether it’s Security or Cloud Computing, we have the know-how for you. Sign up for our newsletters here.
advertisment
More in Microsoft Azure
Microsoft Revises Restrictive Cloud Licensing Policies to Avoid EU Antitrust Probe
May 19, 2022 | Rabia Noureen
Microsoft's Azure AD Conditional Access Service Can Now Require Reauthentication
May 13, 2022 | Rabia Noureen
Microsoft Addresses Cross-Tenant Database Vulnerability in Azure PostgreSQL
Apr 29, 2022 | Rabia Noureen
Microsoft Simplifies IT Monitoring with New Azure Managed Grafana Service
Apr 19, 2022 | Rabia Noureen
System Center 2022 is Now Available with New Datacenter Management Capabilities
Apr 4, 2022 | Rabia Noureen
Most popular on petri
Log in to save content to your profile.
Article saved!
Access saved content from your profile page. View Saved
Join The Conversation
Create a free account today to participate in forum conversations, comment on posts and more.
Copyright ©2019 BWW Media Group