Session host virtual machine sizing guidelines for Azure Virtual Desktop and Remote Desktop Services (2024)

  • Article

Whether you're running your session host virtual machines (VM) on Remote Desktop Services or Azure Virtual Desktop, different types of workloads require different VM configurations. The examples in this article are generic guidelines, and you should only use them for initial performance estimates. For the best possible experience, scale your deployment depending on your users' needs.

Workloads

Users can run different types of workloads on the session host virtual machines. The following table shows examples of a range of workload types to help you estimate what size your virtual machines need to be. After you set up your virtual machines, you should continually monitor their actual usage and adjust their size accordingly. If you end up needing a bigger or smaller virtual machine, you can easily scale your existing deployment up or down in Azure.

The following table describes each workload. Example users are the types of users that might find each workload most helpful. Example apps are the kinds of apps that work best for each workload.

WorkloadtypeExample usersExample apps
LightUsers doing basic data entry tasksDatabase entry applications, command-line interfaces
MediumConsultants and marketresearchersDatabase entry applications, command-line interfaces, Microsoft Word, static web pages
HeavySoftwareengineers, contentcreatorsDatabase entry applications, command-line interfaces, MicrosoftWord, static web pages, MicrosoftOutlook, MicrosoftPowerPoint, dynamic web pages, software development
PowerGraphicdesigners, 3Dmodelmakers, machinelearningresearchersDatabase entry applications, command-line interfaces, Microsoft Word, static web pages, MicrosoftOutlook, MicrosoftPowerPoint, dynamic web pages, photo and video editing, computer-aided design (CAD), computer-aided manufacturing (CAM)

Single-session recommendations

Single-session scenarios are when there's only one user signed in to a session host VM at any one time. For example, if you use personal host pools in Azure Virtual Desktop, you're using a single-session scenario. For VM sizing recommendations for single-session scenarios, we recommend you use at least two physical CPU cores per VM, typically four vCPUs with hyper-threading. If you need more specific VM sizing recommendations for single-session scenarios, ask the software vendors specific to your workload. VM sizing for single-session VMs usually align with physical device guidelines.

The following table shows examples of typical workloads:

Workload typevCPU/RAM/OS storage minimumExample Azure instancesProfile container storage minimum
Light2 vCPUs, 8-GB RAM, 32-GB storageD2s_v5, D2s_v430 GB
Medium4 vCPUs, 16-GB RAM, 32-GB storageD4s_v5, D4s_v430 GB
Heavy8 vCPUs, 32-GB RAM, 32-GB storageD8s_v5, D8s_v430 GB

Multi-session recommendations

Multi-session scenarios are when there's more than one user signed in to a session host virtual machine at any one time. For example, when you use pooled host pools in Azure Virtual Desktop with the Windows 11 Enterprise multi-session operating system (OS), that's a multi-session deployment.

The following table lists the maximum suggested number of users per virtual central processing unit (vCPU) and the minimum VM configuration for standard or larger user workload. If you need more specific VM sizing recommendations for single-session scenarios, ask the software vendors specific to your workload.

Workload typeMaximum users per vCPUMinimum vCPU/RAM/OS storageExample Azure instancesMinimum profile storage
Light68 vCPUs, 16-GB RAM, 32-GB storageD8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v430 GB
Medium48 vCPUs, 16-GB RAM, 32-GB storageD8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v430 GB
Heavy28 vCPUs, 16-GB RAM, 32-GB storageD8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v430 GB
Power16 vCPUs, 56-GB RAM, 340-GB storageD16ds_v5, D16s_v4, D16as_v4, NV6, NV16as_v430 GB

For multi-session workloads, you should limit VM size to between 4 vCPUs and 24 vCPUs for the following reasons:

  • All VMs should have more than two cores. The UI components in Windows rely on the use of at least two parallel threads for some of the heavier rendering operations. For multi-session scenarios, having multiple users on a two-core VM leads to the UI and apps becoming unstable, which lowers the quality of user experience. Four cores are the lowest recommended number of cores that a stable multi-session VM should have.

  • VMs shouldn't have more than 32 cores. As the number of cores increase, the system's synchronization overhead also increases. For most workloads, at around 16 cores, the return on investment gets lower, with most of the extra capacity offset by synchronization overhead. User experience is better with two 16-core VMs instead of one 32-core one.

The recommended range between 4 and 24 cores generally provides better capacity returns for your users as you increase the number of cores. For example, if you have 12 users sign in at the same time to a VM with four cores, the ratio is three users per core. Meanwhile, on a VM with 8 cores and 14 users, the ratio is 1.75 users per core. In this scenario, the latter configuration with a ratio of 1.75 offers greater burst capacity for your applications that have short-term CPU demand.

This recommendation is true at a larger scale. For scenarios with 20 or more users connected to a single VM, several smaller VMs would perform better than one or two large VMs. For example, if you're expecting 30 or more users to sign in within 10 minutes of each other on the same session host with 16 cores, two 8-core VMs would handle the workload better. You can also use breadth-first load balancing to evenly distribute users across different VMs instead of depth-first load balancing, where you can only use a new session host after the existing one is full of users.

It's also better to use a large number of smaller VMs instead of a few large VMs. It's easier to shut down VMs that need to be updated or aren't currently in use. With larger VMs, you're more likely to have at least one user signed in at any time, which prevents you from shutting down the VM. When you have many smaller VMs, it's more likely you have some VMs without active users. You can safely shut down these unused VMs to conserve resources, either manually or automatically by using autoscale in Azure Virtual Desktop. Conserving resources makes your deployment more resilient, easier to maintain, and less expensive.

General virtual machine recommendations

In order to run your chosen OS in Azure, you must use a Premium SSD storage for production workloads that require a service level agreement (SLA). For more information, see the Service Level Agreements (SLA) for Online Services.

Graphics processing units (GPUs) are a good choice for users who regularly use graphics-intensive programs for video rendering, 3D design, and simulations. Azure has several graphics acceleration deployment options and multiple available GPU VM sizes. Learn more at GPU optimized virtual machine sizes. For more general information about graphics acceleration in Remote Desktop Services, see Remote Desktop Services - GPU acceleration

B-series burstable VMs in Azure are a good choice for users who don't always need maximum CPU performance. For more information, see Sizes for Windows virtual machines in Azure and the pricing information on the Virtual Machine series.

Test your workload

Finally, you should use simulation tools to test your deployment with both stress tests and real-life usage simulations. Make sure your system is responsive and resilient enough to meet user needs, and remember to vary the load size to avoid surprises.

As an expert in cloud computing, specifically in virtual machine configurations, workload optimization, and Azure infrastructure, I've accumulated extensive hands-on experience in architecting, optimizing, and managing cloud-based solutions for diverse workloads. I've worked extensively with Azure Virtual Desktop, Remote Desktop Services, VM sizing, and workload distribution strategies, aligning them with user requirements and resource scalability.

Regarding the concepts and topics covered in the provided article:

  1. Workload Types and Examples: Workloads in Azure or Remote Desktop Services vary based on user needs and applications utilized. The article categorizes workloads into Light, Medium, Heavy, and Power categories, defining the types of users and applications suitable for each.

  2. Single-Session Recommendations: This section advises on sizing recommendations for scenarios where only one user is signed in. It suggests specific VM configurations based on CPU cores, RAM, and storage, aligning with physical device guidelines.

  3. Multi-Session Recommendations: For scenarios with multiple users signed into a session host VM, the article provides recommended configurations per vCPU, limiting VM sizes for optimized performance and user experience.

  4. Optimal VM Core Range for Multi-Session Scenarios: It advises against using VMs with less than four cores due to potential instability in the user interface and apps. Similarly, it recommends avoiding VMs with more than 32 cores due to synchronization overhead, proposing an optimal range between 4 and 24 cores for better user capacity returns.

  5. Load Balancing and VM Sizing Strategies: The article suggests distributing users across smaller VMs for improved performance, scalability, and ease of maintenance. It highlights the benefits of breadth-first load balancing and using multiple smaller VMs rather than a few large ones for efficient resource management.

  6. General VM Recommendations: It emphasizes using Premium SSD storage for OS in Azure, the relevance of GPU instances for graphics-intensive workloads, and the use of burstable B-series VMs for scenarios not consistently demanding maximum CPU performance.

  7. Testing Workloads: The article recommends employing simulation tools to stress-test deployments, ensuring responsiveness and resilience to meet user needs while varying load sizes to anticipate system behavior.

Overall, the article provides comprehensive guidance on sizing VMs, workload types, and strategies to optimize performance, scalability, and resource utilization in Azure or Remote Desktop Services environments. This guidance is crucial for architects and administrators aiming to design and maintain efficient cloud-based solutions tailored to diverse user requirements.

Session host virtual machine sizing guidelines for Azure Virtual Desktop and Remote Desktop Services (2024)
Top Articles
Latest Posts
Article information

Author: Lakeisha Bayer VM

Last Updated:

Views: 6477

Rating: 4.9 / 5 (49 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Lakeisha Bayer VM

Birthday: 1997-10-17

Address: Suite 835 34136 Adrian Mountains, Floydton, UT 81036

Phone: +3571527672278

Job: Manufacturing Agent

Hobby: Skimboarding, Photography, Roller skating, Knife making, Paintball, Embroidery, Gunsmithing

Introduction: My name is Lakeisha Bayer VM, I am a brainy, kind, enchanting, healthy, lovely, clean, witty person who loves writing and wants to share my knowledge and understanding with you.