Azure Disks Performance Tests: Ultra Disks compared
In a previous post, I showed you how to implement the new Azure Ultra Disks. Today, I want to show you how fast they really are by running performance tests and comparing them with the other disks available in Azure.
Test Environment #
VM size: Standard D2s v3 (2 vcpus, 8 GiB memory) Location: North Europe (Zone 3) Used tool: DiskSpd Disks Sizes Ultra Disk: 32 GB / 9200 IOPS / 2000 MBps Premium SSD: P4 Standard SSD: E4 Standard HDD: S4
Azure disks performance #
I will perform two tests on each type of hard disk, using the Diskspd tool, Diskspd is a command-line utility and, as such, has a long list of available parameters. If you want to know more about the parameters used in the following tests, check out this link.
Large area random concurrent reads of 4KB blocks #
The explanation of the values and parameters used for this test are the following:
Parameter
Description
-c2G
Create files of the specified size.
-b4K
Block size in bytes or KB, MB, or GB.
-r
Random I/O.
-o32
The number of outstanding I/O requests per-target per-thread.
-W60
Warmup time in seconds.
-d60
Duration of measurement period in seconds
-Sh
Disable both software caching and hardware write caching.
testfile.dat
The target file used for testing.
./diskspd -c2G -b4K -F8 -r -o32 -W60 -d60 -Sh testfile.dat
The results for each type of Azure managed disks are shown below.
Ultra Disk #
Premium SSD #
Standard SSD #
Standard HDD #
Small area concurrent writes of 4KB blocks #
The explanation of the values and parameters used for this test are the following:
Parameter
Description
-C100b
Create files of the specified size.
-w100
Percentage of write requests to issue.
-b4K
Block size in bytes or KB, MB, or GB.
-o32
The number of outstanding I/O requests per-target per-thread.
-F8
The total number of threads.
-T1b
Stride size between I/O operations performed on the same target by different threads in bytes, KB, MB or GB.
-s8b
Sequential stride size, offset between subsequent I/O operations in bytes, KB, MB, or GB.
-W60
Warmup time in seconds.
-d60
Duration of measurement period in seconds
-Sh
Disable both software caching and hardware write caching.
testfile.dat
The target file used for testing.
./diskspd -c100b -w100 -b4K -o32 -F8 -T1b -s8b -W60 -d60 -Sh testfile.dat
The results for each type of Azure managed disks are shown below.
Ultra Disk #
Premium SSD #
Standard SSD #
Standard HDD #
As you can see the difference in performance is notorious. I hope you find this information interesting and see you in the next post. If you want to know more about DiskSpd tool, check out this link: https://github.com/Microsoft/diskspd/wiki/Command-line-and-parameters