All Articles

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. 12 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. 34 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: 56 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? 78 Thats more like it, what if we create the VD as a Mirror? 910 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 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 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 To finish things off, here is a 4 disk parity, where the disks have read/write caching enabled. 1415 Hope you can use these as a guide to what setup you should run on your VM’s to get the maximum performance.

Published 30 Sep 2014