|
Measures reported by AzrWVDChkPntTest
The process of a user logging into a RemoteApp/Desktop managed by an AVD broker is complex.
The logon sequence is as discussed hereunder:
Using supported Azure Virtual Desktop client user subscribes to the Azure Virtual Desktop Workspace
Azure Active Directory authenticates the user and returns the token used to enumerate resources available to a user
Client passes token to the Azure Virtual Desktop feed subscription service
Azure Virtual Desktop feed subscription service validates the token
Azure Virtual Desktop feed subscription service passes the list of available desktops and RemoteApps back to the client in the form of digitally signed connection configuration
Client stores the connection configuration for each available resource in a set of .rdp files
When a user selects the resource to connect, the client uses the associated .rdp file and establishes the secure TLS 1.2 connection to the closest Azure Virtual Desktop gateway instance and passes the connection information
Azure Virtual Desktop gateway validates the request and asks the Azure Virtual Desktop broker to orchestrate the connection
Azure Virtual Desktop broker identifies the session host and uses the previously established persistent communication channel to initialize the connection
Remote Desktop stack initiates the TLS 1.2 connection to the same Azure Virtual Desktop gateway instance as used by the client
After both client and session host connected to the gateway, the gateway starts relaying the raw data between both endpoints, this establishes the base reverse connect transport for the RDP
After the base transport is set, the client starts the RDP handshake
As is evident from the discussion above, the logon process spans both the key tiers of the AVD infrastructure - the Microsoft-managed control plane tier on the cloud, and the customer-managed on-premises tier. A slowdown anywhere in the logon process, in any tier, can adversely impact the overall logon experience of a user. For instance, if a user's desktop request spends too much time in the control plane being load balanced, that user's logon experience will suffer. Likewise, if any group policy takes too long to be processed and applied during a logon, it can significantly delay the logon process at the customer end. To assure users of instant, on-demand access to virtual desktops at all times, administrators should monitor each user's logon experience with AVD in real-time, rapidly identify the user whose logon performance has degraded, and accurately isolate what problem in which tier is responsible for the degradation. eG Enterprise helps administrators achieve all of the above!
The AzrWVDChkPntTest monitors the logon experience of each AVD user, from when the broker processes that user's desktop request to when he/she is allowed access to a session host. In the process, the test shines the spotlight on users whose logon experience is sub-par. Additionally, the test measures the time spent by a user at each step of the logon process. This way, the test accurately pinpoints the root-cause of logon delays that a user may experience - is it owing to issues in the control plane? or is it because of slowness in the customer network? - if so, where in the customer end is the bottleneck? profile loading? setting up session environment? shell start-up? group policy processing? or others? Using the detailed diagnostics, administrators can also zero-in on the precise user session in which the logon experience was unsatisfactory, and why.
For deeper insights into a user's logon performance inside the customer network, you can use the User Logon Details - AVD test (mapped to the AVD Host Pool component). With the help of the AzrWVDChkPntTest, administrators can figure out if an authentication delay (probably caused by a processing bottleneck on the AD / Azure AD in the customer's network) impacted the logon experience of the user. This test also leads administrators to the precise group policy and client side extension that was processed too slowly, thereby slowing down the user logon.
Outputs of the test :One set of results for each user connecting to the AVD service
The measures made by this test are as follows:
| Measurement |
Description |
Measurement Unit |
Interpretation |
| Total_logon_duration |
Indicates the total time taken by this user to log into an Azure virtual desktop. |
Seconds |
If this value is abnormally high for any user, then, you can compare the time measurements reported by this test to know where exactly the user logon was bottlenecked - was it on the Microsoft-managed control plane? or on the customer-managed network? If the control plane is delaying the logon, then you can compare the value of the Orchestration duration, Load balancer duration, Transport duration, and RDP stack duration metrics to isolate where on the control plane the user request spent the most time -is it in orchestrating? transport? load balancing? or RDP stacking? If the customer network is where the problem is, then compare the time metrics displayed under the Logon Duration Breakups section to know when the delay was maximum - during session environment setup? profile loading? shell start-up? group policy processing? when being processed by the System event notification service or FSLogix service? or others? |
| Orchestration_duration |
Indicates the time taken by the broker to orchestrate this user's connection on the desktop. |
Seconds |
|
| Load_balnc_duration |
Indicates the time taken by the broker to load-balance the user's logon request. |
Seconds |
|
| Transport_duration |
Indicates the time spent by this user's logon requests in transport. |
Seconds |
|
| RDP_stack_duration |
Indicates the time spent by this user's logon requests in the RDP stack. |
Seconds |
|
| Logon_time_dly |
Indicates the total time this user's logon took in the customer's network. |
Seconds |
If the value of the Total logon processing duration is abnormally high for a user, then compare the value of this measure with that of the Orchestration duration, Load balancer duration, Transport duration, and RDP stack duration measures to know what caused the user's logon experience to deteriorate - is it a orchestration / load balancing / transport / RDP stacking problem in the control plane? or a problem in the customer network? In the case of the latter, compare the values of all the duration metrics in the Logon Duration Breakup section to know where in the customer network the slowness originated. |
| Dsktp_rdy_dly |
Indicates the time taken by this user's desktop to be readied for launch. |
Seconds |
|
| App_launch_dly |
Indicates the time taken by this user's RemoteApp to be readied for launch. |
Seconds |
|
| RDP_authen_dly |
Indicates the time taken by this user's RDP sessions to be authenticated. |
Seconds |
If the RDP stack duration measure reports a very high value, then compare the value of these measures to know why this is so - is it because of a delay in authentication? authorization? or license check? |
| RDP_auth_dly |
Indicates the time taken by this user's RDP sessions to be authorized. |
Seconds |
| RDP_license_dly |
Indicates the time taken by this user's RDP sessions to check license availability. |
Seconds |
| Sess_env_delay |
Indicates the time taken by this user's logon to setup the session environment. |
Seconds |
If the Logon duration measure reports an abnormally high value for a user, then compare the value of these metrics for that user to know where in the customer network the problem lies - in session environment setup? in processing by the system event notification service / FSLogix service / shell service? in profile loading? in group policy processing? or in other types of processing? |
| Sens_delay |
The System Event Notification Service (SENS) creates a uniform connectivity and notification interface for applications. This measure indicates the time taken by this user-s logon request to be processed by this system event notification service. |
Seconds |
| Profiles_delay |
Indicates the time taken to load this user's profile. |
Seconds |
| GPclient_delay |
Indicates the time taken by the user's group policies to be applied. |
Seconds |
| Term_server_dly |
Indicates the average time taken by the all the terminal sessions of this user. |
Seconds |
| Frx_srvc_dly |
Indicates the time taken by the FSLogix service to process this user's logon request. |
Seconds |
| Shell_start_dly |
Indicates the time taken to launch/start the default Windows 10 shell of this user's desktop. |
Seconds |
| Logon_duration |
Indicates the time spent by this user's logon in other types of processing. |
Seconds |
| Reconnect_session |
Indicates the total number of sessions for this user. |
Number |
Use the detailed diagnosis of this test to know more about the desktop sessions that are currently open for the user. The client from which each session connected, the subscription, resource group, and resource that was accessed in every session, and the total logon processing time per session are displayed as part of the detailed statistics. This way, you can quickly compare the logon time across sessions, and accurately identify the exact session in which the user took the longest to logon. A breakup of the logon duration is also available for each session, thus enabling you to accurately isolate the root-cause of the poor logon performance in that session. |
| Session_shared |
Indicates the number of shared sessions for this user. |
Number |
Use the detailed diagnosis of this test to know which are the shared sessions. |
| Session_typ |
Indicates the number of sessions for this user that reconnected. |
Number |
Use the detailed diagnosis to know which sessions of the user, reconnected. |
|