Forum Discussion
Krishnakumar_M
Jun 18, 2024Brass Contributor
AVD pool - performance issues
Hi All, Hope everyone are doing well ! I have came up with a question would be helpful to share your experience. In AVD host pools, I have a scenario where I have 50 users assigned to AVD pool, the...
DTB
Jun 24, 2024Iron Contributor
Hi Krishnakumar_M,
Performance issues in AVD environments can indeed be challenging, and it sounds like you're dealing with a resource bottleneck, possibly memory-related as you mentioned. Let's break down the potential solutions and considerations for upgrading your pool configuration.
Current Configuration and Issues: You currently have four D8sv3 session hosts, each with 8 vCPUs and 32 GB of RAM. For 50 users, this setup can be stretched, especially if each user has a moderate workload.
Analyzing the Workload:
- CPU Usage: As per the best practices mentioned by other community members, you should consider using only 80% of the total available cores to avoid overloading.
- 4 x D8sv3 = 4 x 8 vCPUs = 32 vCPUs
- 80% of 32 vCPUs = 25.6 vCPUs for 50 users, which is roughly 2 users per vCPU.
- Memory Usage: Each D8sv3 has 32 GB of RAM, so with 4 hosts, you have 128 GB of RAM total. For 50 users, if memory usage per user is high, this could be a bottleneck.
Upgrade Options:
Eight D4sv3 VMs:
- Each D4sv3 has 4 vCPUs and 16 GB RAM.
- 8 x 4 vCPUs = 32 vCPUs; 80% of 32 = 25.6 vCPUs, still 2 users per vCPU.
- Total RAM: 8 x 16 GB = 128 GB (no change in total memory).
Eight E4sv3 VMs:
- Each E4sv3 has 4 vCPUs and 32 GB RAM.
- 8 x 4 vCPUs = 32 vCPUs; 80% of 32 = 25.6 vCPUs.
- Total RAM: 8 x 32 GB = 256 GB (doubling the total memory).
Two E16sv3 VMs:
- Each E16sv3 has 16 vCPUs and 128 GB RAM.
- 2 x 16 vCPUs = 32 vCPUs; 80% of 32 = 25.6 vCPUs.
- Total RAM: 2 x 128 GB = 256 GB (doubling the total memory).
Recommendation: Given that you suspect memory is the major issue, and to avoid CPU bottlenecks:
- Eight E4sv3 VMs seem to be the most balanced choice. They double your current memory capacity to 256 GB, which should alleviate memory-related performance issues. The CPU allocation remains adequate with the 80% rule applied, and you avoid the complexity of managing fewer larger VMs (like E16sv3).
Additional Considerations:
- Monitoring Usage: Ensure you continuously monitor CPU, memory, and disk usage. Tools like Azure Monitor can help identify the exact resource causing the bottleneck.
- Application Impact: Verify if there are any additional applications running or if specific user activities are causing high resource consumption.
- Autoscaling: Implement autoscaling rules to dynamically adjust resources based on load.
I hope this helps!