Blog
How to analyze Azure Virtual Desktop user workload performance
Learn which AVD metrics matter, how to interpret them, and how to right-size session hosts before cost spikes and login storms hit your users.
That's a wrap! See all the announcements and debuts in our
NerdioCon 2026 recap!Blog
Learn which AVD metrics matter, how to interpret them, and how to right-size session hosts before cost spikes and login storms hit your users.
Table of Contents
Your Azure Virtual Desktop (AVD) bill spiked 30% last month, users are filing tickets about input lag during the morning login storm, and you have no data to tell you whether the problem is undersized VMs, saturated storage, or a network bottleneck 200 miles away. Without structured performance analysis, every fix is a guess, and every guess costs money.
This guide is for AVD administrators and platform owners responsible for session host sizing, performance troubleshooting, and cost optimization. You will learn which metrics to collect, how to interpret them, and how to act on them. If you manage both Windows 365 and AVD, think of this as part of your broader Windows Cloud strategy.
Of every performance counter available in AVD, user input delay is the only one with a Microsoft-stated explicit threshold in plain language. Microsoft's AVD Insights documentation states: "Ideally the user input delay for each host should be below 100 milliseconds, and a lower value is better."
Input delay measures the gap between a user's keyboard or mouse action and the screen response. Below 100 ms, the session feels responsive. Above 100 ms, applications may start to feel sluggish or unresponsive. AVD Insights categorizes input delay above 2,000 ms as "Bad," the threshold that triggers the Host Diagnostics view to flag a host for remediation. By that point, your users have already called the help desk.
When you build your monitoring stack, input delay is the outcome metric. CPU, memory, disk latency, and round-trip time matter because they feed it. Everything else is diagnostic. Capturing that data requires a monitoring pipeline built on three components.
AVD monitoring relies on three data pipelines feeding into a Log Analytics workspace. Getting the plumbing right determines whether you have actionable data or noise. AVD is managed through Azure Portal, PowerShell, and Microsoft Intune, and the monitoring foundation below supports those operational workflows.
The Well-Architected Framework provides guidance for AVD session host design and operations. Sharing a workspace with non-AVD workloads pollutes baselines and undermines alert reliability. Place the workspace in the same Azure region as your session hosts to minimize latency and egress costs.
For each host pool, application group, and workspace, enable diagnostic settings and route logs to your designated workspace. Diagnostic settings can now be configured at host pool creation time rather than post-deployment. This automatically sets up reporting data for AVD Insights.
AVD diagnostics in Log Analytics include the WVDConnections table, and some related tables use a WVD prefix.
Create a Data Collection Rule (DCR) in Azure Monitor with Performance Counters and Windows Event Logs as data sources, associate your session hosts, then deploy the Azure Monitor Agent (AMA) as an extension. AMA support is now available and Microsoft recommends moving from the legacy Microsoft Monitoring Agent.
The minimum role-based access control (RBAC) required is Desktop Virtualization Reader and Log Analytics Reader.
Nerdio Manager for Enterprise layers agentless monitoring on top of this foundation. It adds configurable polling intervals, down to one minute, and automated alerting without additional agents on session hosts. For cost visibility alongside performance telemetry, see AVD cost monitoring tools.
With these three pipelines active, AVD Insights dashboards populate automatically and your baseline data collection is operational.
You could collect every available counter and drown in noise. The table below covers the metrics that directly correlate to user experience problems, right-sizing decisions, or both. The thresholds in this table are provided as operational guidance for these metrics.
| Metric | Counter / table | Healthy | Warning | Critical |
| CPU utilization | Processor(_Total)\% Processor Time | < 60% | > 60% sustained | > 85% |
| Memory pressure | Memory(*)\% Committed Bytes In Use | < 80% | > 80% | Available MBytes near 0 |
| Disk read latency | LogicalDisk(*)\Avg. Disk sec/Read | < 1 ms | > 5 ms | > 10 ms |
| Disk IOPS | LogicalDisk(*)\Disk Transfers/sec | < 80% of tier limit | > 80% | Throttling detected |
| User input delay | User Input Delay per Session(*)\Max Input Delay | < 100 ms | ≥ 100 ms | > 200 ms |
| Round-trip time (RTT) | RemoteFX Network(*)\Current TCP RTT | < 100 ms | 100-200 ms | > 200 ms |
| Frames skipped | RemoteFX Graphics(*)\Frames Skipped/Second | 0 | > 0 sustained | Consistent skipping |
| Connection success rate | WVDConnections State field | > 99% | < 99% | < 95% |
| Logon duration | WVDConnections + GPO Event Logs | < 30 sec | 30-60 sec | > 60 sec |
| FSLogix mount time | Disk latency at logon + FSLogix logs | < 5 sec | 5-15 sec | > 15 sec or failure |
| Disk free space | LogicalDisk(*)\% Free Space | > 20% | < 20% | < 10% |
| Session density | Terminal Services(*)\Active Sessions | < 80% of max | > 80% of max | At max limit |
Two patterns stand out. First, FSLogix profile container issues often point to storage input/output operations per second (IOPS) problems. If profile containers and user data share the same disk, IOPS exhaustion can cause UI delays and application hangs. Premium SSD is recommended for multi-session pooled host pools running FSLogix.
Second, the three RemoteFX Frames Skipped counters are diagnostic by design. They isolate whether the bottleneck is server-side (CPU/GPU), network, or client-side, which determines your remediation path. For more background on profile-related troubleshooting, see FSLogix overview and optimize FSLogix storage costs.
When a user reports an issue, the troubleshooting path splits into four branches, each mapping to specific Log Analytics queries and resolution steps.
Start by reviewing the available AVD monitoring and health data in your Log Analytics workspace and Azure Monitor insights. Query for hosts where Status != "Available" over the past 24 hours. If session hosts show "Unavailable," check Event ID 3277 entries for errors like INVALID_REGISTRATION_TOKEN or ENDPOINT_NOT_FOUND. Remove stale entries, regenerate the registration key, and reinstall the Azure Virtual Desktop Agent with the new key.
Query WVDConnectionNetworkData for EstRoundTripTimeInMs values exceeding 150 ms. Check whether RDP Shortpath (UDP) is active. If your Insights data shows TCP transport where you expected UDP, check network security group (NSG) rules on the session host subnet.
Query the Perf table for CPU and memory pressure. A host running above 60% sustained average CPU with rising disk queue lengths is saturated. Common root causes include over-dense user-to-vCPU ratios and OS disks whose IOPS limits fall below demand.
Validate density against the 80% utilization ceiling and upgrade storage tiers before adding more hosts.
Nerdio Manager's recommendations engine tracks these same counters across host pools and surfaces VM SKU changes with projected savings. The guide on right-sizing host pools covers density tuning in detail.
Query the Event table for Source == "Microsoft-FSLogix-Apps" with Error or Warning levels. A frequent cause is storage access. Verify that the storage account is reachable from the session host subnet. Check permissions for the account used to access the share, and check virtual hard disk (VHD) locking for concurrent access scenarios.
All four paths follow the same pattern. Query Log Analytics, identify the bottleneck layer, then apply targeted remediation. Correlating metrics simultaneously (disk latency spikes with FSLogix mount failures, CPU saturation with rising input delay) speeds root-cause identification.
Native Azure tools surface this telemetry. Nerdio Manager adds agentless monitoring, automated right-sizing, and auto-scaling on top of that data across Windows Cloud environments (Windows 365 and AVD).
For AVD right-sizing, Nerdio Manager analyzes CPU, RAM, and session usage to recommend specific VM configurations before you commit to changes. Azure Advisor may flag an underutilized VM for shutdown and deallocation without recognizing it as a session host required for user availability.
Nerdio Manager's recommendations incorporate session host lifecycle context that generic Azure tooling does not model. Penn State reported a 71% reduction in AVD spend after adopting Nerdio Manager. Sage reported $1.5 million annual savings while growing from 200 to 1,000 customers without adding headcount.
Across the broader Windows Cloud estate, Nerdio Manager gives IT teams one place to manage Windows 365 alongside AVD. The same performance and cost questions surface across both products: which users are oversized, where resources are degrading, and where manual administration is driving avoidable cost.
For Windows 365, Nerdio Advisor flags oversized Cloud PCs and recommends Frontline license conversions that cut per-user costs. Nerdio for Windows 365 and Intune reporting give IT teams visibility into the Cloud PC side of the same environment.
Nerdio Manager's patented auto-scaling uses multiple triggers such as CPU, RAM, and sessions, rather than schedule- or session-count-only approaches. Pre-scaling provisions capacity before the morning login storm hits. When VMs are stopped and deallocated during off-peak hours, Nerdio Manager switches OS disks to standard tiers. Customers achieved up to 55% AVD cost reduction compared to managing AVD without Nerdio.
The Auto-Heal feature detects failed session hosts and automatically triggers remediation, whether that means a restart, scripted repair, or full VM replacement to restore capacity.
The methodology for converting performance data into cost savings follows the same pattern whether you use native Azure tools or Nerdio Manager's recommendations engine.
Microsoft's sizing guidelines for multi-session pooled host pools vary by workload profile, with documented starting points including up to 6 users per vCPU for light workloads and about 4 users per vCPU for medium workloads.
Collect baseline utilization data across two to four weeks that span peak and off-peak periods. Azure Advisor provides proactive recommendations based on resource configuration and usage, and AVD Insights provides monitoring and diagnostics for AVD sessions and host performance over time. That data maps directly to whether your current VM SKU matches actual workload density.
For session host pools, a larger number of smaller VMs typically outperforms a few oversized ones. Smaller VMs are easier to manage, isolate faults more cleanly, and give you more granular control when auto-scaling responds to demand. If you need a planning aid before making changes, the free AVD modeler tool and AVD cost management guide cover the budgeting side of the same exercise.
Cost spikes and morning login issues can both result from decisions made without adequate workload data. The monitoring foundation, metrics, and right-sizing methodology covered here give you the framework to replace guesswork with targeted action.
Get a demo to see how Nerdio Manager automates workload analysis and right-sizing across your Windows 365 and AVD environment, or try it free in your own Azure tenant.
User input delay should ideally be below 100 milliseconds, and a lower value is better. Above that threshold, sessions can start to feel sluggish; Microsoft classifies input delay above 2,000 ms as "Bad."
Azure Virtual Desktop Insights uses Azure Monitor and Log Analytics to provide monitoring and reporting for Azure Virtual Desktop environments.
Collect baseline utilization data across two to four weeks that span both peak and off-peak periods.
Slow FSLogix profile mount times often point to storage IOPS or latency problems. When profile containers share disks with user data, IOPS can exhaust during the logon window. Premium SSD is recommended for multi-session pooled host pools running FSLogix.
Azure Advisor evaluates VM utilization generically and may recommend shutting down and deallocating an underutilized VM without recognizing it as an Azure Virtual Desktop session host required for user availability. Nerdio Manager's recommendations engine analyzes current auto-scale configurations, user activity patterns, and resource consumption trends to produce AVD optimization recommendations aimed at improving cost-effectiveness and performance.
Learn more about Nerdio Manager