As many of our customers have expanded into the cloud to increase capacity, we are excited to update you on performance developments for VDAs managed with Machine Creation Services (MCS) on Azure. With these enhancements, some quick configuration changes to your account can speed up VM operations dramatically!
Those of you who have deployed Citrix Virtual Apps and Desktops on Azure at scale know that it can take about an hour to power manage 1,000 VDAs (VMs). Given that Azure compute charges for all running machines and admins are looking for ways to make their environment more nimble, customers have requested faster power operations.
As Azure continually evolves to provide even better capabilities and performance, Citrix is enhancing its integration with Azure. Azure limits have recently been expanded to support a higher number of API calls (details can be found at Microsoft’s request limits and throttling documentation), and we’ve modified MCS to use all the available API request quota.
The biggest change we’ve implemented is modifying MCS to use a reactive throttling approach when making cloud API calls. Requests are made without limitation until Azure notifies Citrix that a request limit has been exceeded. The “quota limit exceeded” message also includes the time period Microsoft requires to elapse before requests can be successfully sent again. MCS will queue all requests of that type for the “silent” time period and will retry any failed requests to resume normal operations. This optimizes our interactions with the cloud service APIs and results in much faster operations when we stay under the threshold.
Ideally Citrix Virtual Apps and Desktops is the only service running against the Azure subscription, but we know that’s not always the case. As long as the Citrix service is leveraging a dedicated service principal (SPN) that is not shared by any other application, we will only use up our own resource limits without affecting other services communicating with the Azure subscription.
So, what is the impact of this change?
We benchmarked power operations for two scenarios:
- 1,000 pooled VDAs in a single subscription
- 1,000 dedicated VDAs in another subscription
The operation times were dramatically improved and were consistent across different Azure regions (these tests were against US-based Azure regions).
Type of catalog | Power action | Old Power Action Time (minutes) | New Power Action Time (minutes) |
Dedicated | On | 45 | 10 |
Dedicated | Off | 85 | 12 |
Pooled | On | 50 | 12 |
Pooled | Off | 110 | 15 |
You might notice that the pooled numbers are slightly higher than the dedicated numbers. That is due to MCS deleting the OS Disks and pooled VMs at stop time in order to refresh the VMs and creating the OS Disks / VMs at start time to maximize the savings when the VMs are not being utilized.
Speeding up the stop and start power operations will also result in dramatic advantages around Autoscale and will expedite the process of pushing an updated image to large numbers of VMs. This change was released to our cloud service in April 2020.
Get Started Today!
Admin action is required to take full advantage of the new enhancements in MCS. You will need to change the “Absolute Simultaneous actions” for the hosting connection to 500, and “Maximum new actions per minute” for the hosting connection to 2,000 (see below).
For more information, see Citrix documentation on editing host connection settings.