You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/virtual-desktop/connection-latency.md
+76-11Lines changed: 76 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,27 +1,33 @@
1
1
---
2
-
title: Azure Virtual Desktop user connection latency - Azure
3
-
description: Connection latency for Azure Virtual Desktop users.
2
+
title: Azure Virtual Desktop user connection quality - Azure
3
+
description: Connection quality for Azure Virtual Desktop users.
4
4
author: Heidilohr
5
5
ms.topic: conceptual
6
-
ms.date: 03/16/2022
6
+
ms.date: 09/26/2022
7
7
ms.author: helohr
8
8
manager: femila
9
9
---
10
10
# Connection quality in Azure Virtual Desktop
11
11
12
+
>[!IMPORTANT]
13
+
>The Connection Graphics Data Logs are currently in preview. See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
14
+
12
15
Azure Virtual Desktop helps users host client sessions on their session hosts running on Azure. When a user starts a session, they connect from their end-user device, also known as a "client," over a network to access the session host. It's important that the user experience feels as much like a local session on a physical device as possible. In this article, we'll talk about how you can measure and improve the connection quality of your end-users.
13
16
14
17
There are currently two ways you can analyze connection quality in your Azure Virtual Desktop deployment: Azure Log Analytics and Azure Front Door. This article will describe how to use each method to optimize graphics quality and improve end-user experience.
15
18
16
19
## Monitor connection quality with Azure Log Analytics
17
20
18
-
If you're already using [Azure Log Analytics](diagnostics-log-analytics.md), you can monitor network data with the Azure Virtual Desktop connection network data diagnostics. The connection network data Log Analytics collects can help you discover areas that impact your end-user's graphical experience. The service collects data for reports regularly throughout the session. Azure Virtual Desktop connection network data reports have the following advantages over RemoteFX network performance counters:
21
+
If you're already using [Azure Log Analytics](diagnostics-log-analytics.md), you can monitor network and graphics data for Azure Virtual Desktop connections. The connection network and graphics data Log Analytics collects can help you discover areas that impact your end-user's graphical experience. The service collects data for reports regularly throughout the session. Azure Virtual Desktop connection network data reports have the following advantages over RemoteFX network performance counters:
19
22
20
23
- Each record is connection-specific and includes the correlation ID of the connection that can be tied back to the user.
21
24
22
25
- The round trip time measured in this table is protocol-agnostic and will record the measured latency for Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) connections.
23
26
24
-
To start collecting this data, you’ll need to make sure you have diagnostics and the **NetworkData** table enabled in your Azure Virtual Desktop host pools.
27
+
To start collecting this data, you’ll need to make sure you have diagnostics and the **Network Data Logs** and **Connection Graphics Data Logs Preview** tables enabled in your Azure Virtual Desktop host pools.
28
+
29
+
>[!NOTE]
30
+
>Normal storage charges for Log Analytics will apply. Learn more at [Azure Monitor Logs pricing details](../azure-monitor/logs/cost-logs.md).
25
31
26
32
To check and modify your diagnostics settings in the Azure portal:
27
33
@@ -31,33 +37,92 @@ To check and modify your diagnostics settings in the Azure portal:
31
37
32
38
3. Select **Diagnostic settings**, then create a new setting if you haven't configured your diagnostic settings yet. If you've already configured your diagnostic settings, select **Edit setting**.
33
39
34
-
4. Select **allLogs** or select the names of the diagnostics tables you want to collect data for, including **NetworkData**. The *allLogs* parameter will automatically add new tables to your data table in the future.
40
+
4. Select **allLogs** or select the names of the diagnostics tables you want to collect data for, including **Network Data Logs** and **Connection Graphics Data Logs Preview**. The *allLogs* parameter will automatically add new tables to your data table in the future.
35
41
36
42
5. Select where you want to send the collected data. Azure Virtual Desktop Insights users should select a Log Analytics workspace.
37
43
38
44
6. Select **Save** to apply your changes.
39
45
40
46
7. Repeat this process for all other host pools you want to measure.
41
47
42
-
8. Make sure the network data is going to your selected destination by returning to the host pool's resource page, selecting **Logs**, then running one of the queries in [Sample queries for Azure Log Analytics](#sample-queries-for-azure-log-analytics). In order for your query to get results, your host pool must have active users who have been connecting to sessions. Keep in mind that it can take up to 15 minutes for network data to appear in the Azure portal.
48
+
8. Make sure the network data is going to your selected destination by returning to the host pool's resource page, selecting **Logs**, then running one of the queries in [Sample queries for Azure Log Analytics](#sample-queries-for-azure-log-analytics-network-data). In order for your query to get results, your host pool must have active users who have been connecting to sessions. Keep in mind that it can take up to 15 minutes for network data to appear in the Azure portal.
49
+
50
+
To check network data, return to the host pool's resource page, select **Logs**, then run one of the queries in [Sample queries for Azure Log Analytics](connection-latency.md#sample-queries-for-azure-log-analytics-network-data). In order for your query to get results, your host pool must have active users who've connected to sessions before. Keep in mind that it can take up to 15 minutes for network data to appear in the Azure portal.
43
51
44
52
### Connection network data
45
53
46
54
The network data you collect for your data tables includes the following information:
47
55
48
56
- The **estimated available bandwidth (kilobytes per second)** is the average estimated available network bandwidth during each connection time interval.
49
57
50
-
- The **estimated round trip time (milliseconds)**, which is the average estimated round trip time during each connection time interval. Round trip time is how long it takes a network request takes to go from the end-user's device over the network to the session host, then return to the device.
58
+
- The **estimated round trip time (milliseconds)** is the average estimated round trip time during each connection time interval. Round trip time is how long a network request takes to go from the end-user's device to the session host through the network, then return from the session host to the end-user device.
59
+
60
+
- The **Correlation ID** is the ActivityId of a specific Azure Virtual Desktop connection that's assigned to every diagnostic within that connection.
61
+
62
+
- The **time generated** is a timestamp in Coordinated Universal Time (UTC) time that marks when an event the data counter is tracking happened on the virtual machine (VM). All averages are measured by the time window that ends at the marked timestamp.
63
+
64
+
- The **Resource ID** is a unique ID assigned to the Azure Virtual Desktop host pool associated with the data the diagnostics service collects for this table.
65
+
66
+
- The **source system**, **Subscription ID**, **Tenant ID**, and **type** (table name).
67
+
68
+
#### Frequency
69
+
70
+
The service generates these network data points every two minutes during an active session.
71
+
72
+
### Connection graphics data (preview)
73
+
74
+
You should consult the Graphics data table (preview) when users report slow or choppy experiences in their Azure Virtual Desktop sessions. The Graphics data table will give you useful information whenever graphical indicators, end-to-end delay, and dropped frames percentage fall below the "healthy" threshold for Azure Virtual Desktop. This table will help your admins track and understand factors across the server, client, and network that could be contributing to the user's slow or choppy experience. However, while the Graphics data table is a useful tool for troubleshooting poor user experience, since it's not regularly populated throughout a session, it isn't a reliable environment baseline.
75
+
76
+
The Graphics table only captures performance data from the Azure Virtual Desktop graphics stream. This table doesn't capture performance degradation or "slowness" caused by application-specific factors or the virtual machine (CPU or storage constraints). You should use this table with other VM performance metrics to determine if the delay is caused by the remote desktop service (graphics and network) or something inherent in the VM or app itself.
77
+
78
+
The graphics data you collect for your data tables includes the following information:
79
+
80
+
- The **Last evaluated connection time interval** is the two minutes leading up to the time graphics indicators fell below the quality threshold.
51
81
52
-
- The **Correlation ID**, which is the activity ID of a specific Azure Virtual Desktop connection that's assigned to every diagnostic within that connection.
82
+
- The **end-to-end delay (milliseconds)** is the delay in the time between when a frame is captured on the server until the time frame is rendered on the client, measured as the sum of the encoding delay on the server, network delay, the decoding delay on the client, and the rendering time on the client. The delay reflected is the highest (worst) delay recorded in the last evaluated connection time interval.
83
+
84
+
- The **compressed frame size (bytes)** is he compressed size of the frame with the highest end-to-end delay in the last evaluated connection time interval.
85
+
86
+
- The **encoding delay on the server (milliseconds)** is the time it takes to encode the frame with the highest end-to-end delay in the last evaluated connection time interval on the server.
87
+
88
+
- The **decoding delay on the client (milliseconds)** is the time it takes to decode the frame with the highest end-to-end delay in the last evaluated connection time interval on the client.
89
+
90
+
- The **rendering delay on the client (milliseconds)** is the time it takes to render the frame with the highest end-to-end delay in the last evaluated connection time interval on the client.
91
+
92
+
- The **percentage of frames skipped** is the total percentage of frames dropped by these three sources:
93
+
94
+
- The client (slow client decoding).
95
+
- The network (insufficient network bandwidth).
96
+
- The server (the server is busy).
97
+
98
+
The recorded values (one each for client, server, and network) are from the second with the highest dropped frames in the last evaluated connection time interval.
99
+
100
+
- The **estimated available bandwidth (kilobytes per second)** is the average estimated available network bandwidth during the second with the highest end-to-end delay in the time interval.
101
+
102
+
- The **estimated round trip time (milliseconds)**, which is the average estimated round trip time during the second with the highest end-to-end delay in the time interval. Round trip time is how long a network request takes to go from the end-user's device to the session host through the network, then return from the session host to the end-user device.
103
+
104
+
- The **Correlation ID**, which is the ActivityId of a specific Azure Virtual Desktop connection that's assigned to every diagnostic within that connection.
53
105
54
106
- The **time generated**, which is a timestamp in UTC time that marks when an event the data counter is tracking happened on the virtual machine (VM). All averages are measured by the time window that ends that the marked timestamp.
55
107
56
-
- The **Resource ID**, which is a unique ID assigned to the Azure Virtual Desktop host pool associated with the data the diagnostics service collects for this table.
108
+
- The **Resource ID** is a unique ID assigned to the Azure Virtual Desktop host pool associated with the data the diagnostics service collects for this table.
57
109
58
110
- The **source system**, **Subscription ID**, **Tenant ID**, and **type** (table name).
59
111
60
-
## Sample queries for Azure Log Analytics
112
+
#### Frequency
113
+
114
+
In contrast to other diagnostics tables that report data at regular intervals throughout a session, the frequency of data collection for the graphics data varies depending on the graphical health of a connection. The table won't record data for "Good" scenarios, but will recording if any of the following metrics are recorded as "Poor" or "Okay," and the resulting data will be sent to your storage account. Data only records once every two minutes, maximum. The metrics involved in data collection are listed in the following table:
115
+
116
+
| Metric | Bad | Okay | Good |
117
+
|--------|-----|------|------|
118
+
| Percentage of dropped frames with low frame rate (less than 15 fps) | Greater than 15% | 10%–15% | less than 10% |
119
+
| Percentage of dropped frames with high frame rage (greater than 15 fps) | Greater than 50% | 20%–50% | Less than 20% |
120
+
| End-to-end delay per frame | Greater than 300 ms | 150 ms–300 ms | Less than 150 ms |
121
+
122
+
>[!NOTE]
123
+
>For end-to-end delay per frame, if any frame in a single second is delayed by over 300 ms, the service registers it as "Bad". If all frames in a single second take between 150 ms and 300 ms, the service marks it as "Okay."
124
+
125
+
## Sample queries for Azure Log Analytics: network data
61
126
62
127
In this section, we have a list of queries that will help you review connection quality information. You can run queries in the [Log Analytics query editor](../azure-monitor/logs/log-analytics-tutorial.md#write-a-query).
description: How to troubleshoot connection quality issues in Azure Virtual Desktop.
4
4
author: Heidilohr
5
5
ms.topic: troubleshooting
6
-
ms.date: 03/16/2022
6
+
ms.date: 09/26/2022
7
7
ms.author: helohr
8
8
manager: femila
9
9
---
@@ -35,6 +35,14 @@ To reduce round trip time:
35
35
36
36
The [Azure Virtual Desktop Experience Estimator tool](https://azure.microsoft.com/services/virtual-desktop/assessment/) can help you determine the best location to optimize the latency of your VMs. We recommend you use the tool every two to three months to make sure the optimal location hasn't changed as Azure Virtual Desktop rolls out to new areas.
37
37
38
+
## My connection data isn't going to Azure Log Analytics
39
+
40
+
If your **Connection Network Data Logs** aren't going to Azure Log Analytics every two minutes, you'll need to check the following things:
41
+
42
+
- Make sure you've [configured the diagnostic settings correctly](diagnostics-log-analytics.md).
43
+
- Make sure you've configured the VM and [monitoring agents](azure-monitor.md) correctly.
44
+
- Make sure you're actively using the session. Sessions that aren't actively used won't send data to Azure Log Analytics as frequently.
45
+
38
46
## Next steps
39
47
40
48
For more information about how to diagnose connection quality, see [Connection quality in Azure Virtual Desktop](connection-latency.md).
0 commit comments