This post and video gives a rough estimated guide on Azure Storage IOPS calculations looking at storage performance on steady state IOPS and sign in burst that’s expected from our session hosts VMs using Azure Virtual Desktop and FSLogix.
Its important to store data at the appropriate level of performance and price.
This can be achevived using two performance tier offerings – standard and premium.
Standard storage is hosted on system storage hard disk drives (HDD) and premium storage is hosted on solid-state drives (SSD) for better performance IOPS.
Standard gives up to 10,000 IOPS per file share and premium is upto 100,000 IOPS.
If you require large amounts of IOPS, extremely fast data transfer speeds, or very low latency, then you should choose premium Azure file shares.
Premium azure storage its dynamic therefore we can change the sizing and increase performance IOPS.
Please note you pay for what that size is, therefore be aware of this and always check with your bill payer before provisioning! You will get billed for the provisioned capacity.
Choosing the size for premium storage also allows us to choose the calculated Azure Storage IOPS steady state and sign in burst that’s expected from our session hosts VMs. In this post and video we discuss some rough calculations and determine how many IOPS you will need in your Azure Virtual Desktop environment.
Please remember these will depend on your environment and what’s shown here is for guidance.
The good thing is we can increase our storage if we see performance issues with login etc and this will increase our performance IOPS needed.
When choosing between standard and premium file shares, it’s important to understand the requirements of the expected usage pattern you’re planning to run on Azure Files.
If we take an average, our FSLogix profile container per user in our environment will be somewhere between 5 to 20GB in size.
Average FSLogix Per User = 5Gb to 20Gb
This will depend in your environment and profile sizing maybe different therefore you will need to calculate this. In our environment we have 1000 users, therefore taking the following calculation to include maximum 20Gb profile size
1000 users x 20GB maximum profile size is 20,000
We can enter the total profile size in Azure premium provisioned capacity storage of 20,000 and the total Steady IOPS of 20 per user to be on the safe side. During login we require max 50 burst IOPS.
Therefore our rough calculations as a guide for 1000 users are as follows (depending on your environment).
Maximum IOPS (Steady State): 1000 users x 20 IOPS per user Steady State = 20,000 IOPS
Signin Burst IO/s IOPS: 1000 users x 50 IOPS per user signin Burst IO/s = 50,000 IOPS
Profile size: 1000 x 20Gb profile size = 20,000
With the total profile size entered of 20,000 we can see our performance IOPS metrics are displayed as follows.
Azure Storage IOPS calculator
The maximum IOPS is 23,000 so that’s higher than our calculated 20,000 the login or sign in burst is 60,000 so that’s higher than our calculated 50,000. If we decided to take the provisioned capacity down to say 15,000 as our profiles are a little smaller than expected then this reduces the performance and doesn`t come in line with our calculations.
Therefore we will stick with 20,000 capacity to meet our requirement. Please remember these are rough calculations and maybe different in your environment.
Take a look at the following video as a guide on Azure Storage performance IOPS with FSLogix Profiles.
Azure Virtual Desktop Setup with FSLogix – Watch the Complete Guide and Demo!