Azure virtual machine speed test

When sizing an enviroment in Microsoft Azure it is important to remember what kind of performance you can expect from the different virtual machine instance types in Azure, because there are alot of different aspects you need to think about when setting up virtual machines.

Now by default there are different instance types, which defines what kind of CPU-type, disk support, and other limitations that are in place as well.

Now before I publish the results from the Azure speed tests, I just want to show you the results from my own personal computer as a reference, this first test it from a virtual machine in my lab enviroment, this is running a pretty plain storage solution.

image

Now there are some facts you should be aware of, because of the limits in Azure as of now for the storage accounts.

Total Request Rate (assuming 1KB object size) per storage account Up to 20,000 IOPS, entities per second.

Target throughput for single blob (Page blobs are optimized for representing IaaS disks and supporting random writes, and may be up to 1 TB in size)
Up to 60 MB per second, or up to 500 requests per second

NOTE: All tests were run 4 times to ensure that the results were persistent.

The DiskSPD parameters I used

Diskspd.exe -b4K –d60 -Sh –o8 -t4 –si –c50000M volume:\io.dat (This means that)

4K reads For 60 seconds 8 overlapped IOs 4 threads per target Using a 50,000 MB file IO.DAT on a specific volume, I also did a 64K reads.

A-series

image

D:\ disk (Read Storage IO 4k block size)

image

D:\ disk (Read Storage IO 64k block size)

image

D:\disk (Random Access)

image

image

 

D-series (Standard DS12 (4 cores, 28 GB memory) I didn’t know that the D-series has been updated to Haswell V3 as well!

image

D: disk (READ Random Access)

image

D: Disk (Read) 4k block size

image

D: Disk (Read 64k block size)

image

D:\ disk (Write)

image

D_V2-series (Standard D3 v2 (4 cores, 14 GB memory)    Local SSD disk = 28 GB    SSD disk Cache = 172    Max IOPS = 12,800 Max Bandwidth = 192 MB per second

image

D:\ disk random access

image

4k block size

image

64k block size

image

D:\ disk writes

image

Data disks w/No cache: (NOTE:  Azure limit) Target throughput for single blob
Up to 60 MB per second, or up to 500 requests per second

image

image

image

Premium disk: (Limit is for R/W)

image

image

Premium Storage (w/4 disks in Storage Spaces setup with simple outlay

image

image

Analysis:

My VMware VM test
Read: 350 MB/s
Write: 100 MB/s
Read random IOPS: 6000 IOPS
Write Random IOPS: 10000 IOPS

A-Instance D Disk: (the D: disk on A-instaces has very unpredictable performace in terms of read/writes)
Read: 250 MB/s
Write: 80 MB/s
Read random IOP: 620 IOPS
Write random IOPS: 590 IOPS

D-instance D Disk (SSD) This had very consistent and predicable performance)
Read: 130 MB/s
Write: 130 MB/s
Read random IOPS: 16500 IOPS
Write random IOPS: 16500 IOPS

D_V2 series D disk (SSD) this includes its own SSD cache for read, which suprised me, but cleary it only affects the read performance, and operated at a bit higher latency.
Read: 190 MB/s
Write: 98 MB/s
Read random IOPS: 13700 IOPS
Write random IOPS: 12000 IOPS

Data disks:  (This was consistent in terms of the limitations stated on Microsoft Azure documentation)
Read: 96 MB/s
Write: 61 MB/s
Read random IOPS: 600 IOPS
Write random IOPS: 500 IOPS

Premium Disks: (This was very consistent in terms of the limitations stated on Microsoft Azure documentation)
Read: 191 MB/s
Write: 191 MB/s
Read Random IOPS: 5000 IOPS
Write Random IOPS: 5000 IOPS

Premium Disks with Storage spaces: (Setting up a simple Storage Spaces configuration gives an increase in IOPS according to the amount of disks, but because it increased the latency to do read/writes the bandwidth performance does only increase on Reads
Read: 250 MB/s
Write: 191 MB/s
Read Random IOPS: 17700 IOPS
Write Random IOPS: 13000 IOPS
NOTE: The disks were all placed within the same storage account.

It is hard to determine the performance on virtual disks in Azure, expect for data disks and premium storage disks which in 9/10 cases gives the performance that is stated in the documentation. The other disks have alot of different factors that play in for instane read/write cache, DS series also has its own SSD cache implemented which you can read more about on the Azure documentation site here –> https://azure.microsoft.com/nb-no/documentation/articles/storage-premium-storage/#create-and-use-a-premium-storage-account-for-a-virtual-machine-data-disk

Leave a Reply

Scroll to Top