Maximizing disk performance in Azure VM’s

After testing disk performance in the new D-Series VM’s i decided to take a look at what other ways there were for maximizing performance on the disk system on an Azure VM.

First of some baseline needs to be establised, i attached a simple disk to the VM and initialized it as a GPT disk. Then i ran SQLIO as descriped in my previous post and to get something nice to look at, i included CrystalDiskMark, this was the result.

Where do we go from here? Well, we can create a storagepool from 2 or more disks and create a Virtual Disk across those two disks to, hopefully, gain some performance.

Initially we get more performance from the setup with two disks, but with only 3 outstanding IO’s, we see the performance of the single disk outperform the 2 disk setup.

How about with 3 disks:

It looks a bit better, but still not much better than one disk. But what if we create the Virtual Disk as a Parity disk?

Thats more like it, what if we create the VD as a Mirror?

This gives the same level of performance as the Simple config, so no real reason to use that in Azure, as your disks are allready 3 times redundant.

Remember the disk limitations when you plan your deployment, depending on the size of your VM, you are limited to a number of disks you can add. See this for more info

Now if we add more disks to the parity VD will that boost our performance?

4 Disks:
11-217x300

Practically the same performance as with 3 disks. Up to now i have been running an A2 VM, but to add more disks i need to upgrade to an A4, this might create inconsistencies in comparing these with the previous tests.

This is a storagespace with 16 disks, and one VD configured as parity.

12-211x300

Not that impressive, it seems the parity algorithm maxes out beyond 3 disks.

By the way, dont create the disk in Computer Manager/disk manager as a dynamic disk:
13-215x300

To finish things off, here is a 4 disk parity, where the disks have read/write caching enabled.

Hope you can use these as a guide to what setup you should run on your VM’s to get the maximum performance.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s