The ICA/HDX details the ICA channel usage to and from the user’s endpoint to the user’s virtual machine or session host server. This is often a key metric in a user’s experience as most help desk calls are related to some form of latency. This tab can often be the determining factor in distinguishing if the problem exists on the network or the desktop\server.
Figure 1: ICA/HDX tab
When it comes to ICA latency and how it affects the user’s experience, these are Citrix’s guidelines for end user experience:
- 0ms to 150ms: Optimal User Experience
- 150ms to 300ms: Acceptable User Experience
- 300ms+: Degraded Users Experience
Note that all of the graphs on the ICA/HDX tab are interactive:
- Use the mouse wheel to zoom in or out.
- Use the mouse to select a specific section to zoom in and view more granular details.
- Expand any chart.
- Hide/show specific chart metrics using the settings icon.
ICA Performance
Often the ICA performance graph is a quick way to determine is a user’s performance issues lie in the user’s endpoint environment. A historical view of latency can help you determine how long a user has been experiencing a latency issue.
Figure 2: ICA Performance chart expanded
- ICA Latency is the time from when a user executes a keystroke or mouse click to when it is processed on the session host. It includes both network latency and any delay on the session host to process this request.
- Network Latency is the amount of time it takes data to traverse the network and reach the server.
- ICA Round Trip Time (RTT) is the elapsed time from when the user hits a key until the response is displayed back at the end point, as calculated by the session experience monitoring service. The difference between the ICA Latency and RTT is the application processing time on the session host.
How to Troubleshoot: High ICA RTT (Round Trip Time) confirm a user experiencing slowness or experiencing issues inside of their session. If Network Latency is high and mirrors ICA RTT then Network Latency is actually the driving factor of poor session performance, next look to Connection Speed to investigate if latency is from the user’s end or inside of the datacenter. If Network Latency is low but ICA Latency is high, we can point to the VDA machine’s response time as the root cause of slowness. To investigate Issues with resource response times you can take a look at the App Server/VDI tab or the Processes/Applications tab for further details. |
Connection Speed and Bandwidth
The Connection Speed and Bandwidth section provides a detailed look into the user’s connection over a period of time.
Figure 2: Connection Speed and Bandwidth chart expanded
How to Troubleshoot: The graph above illustrates the user session started with an acceptable amount of bandwidth, but then dropped to down to an unacceptable rate. If a user has an acceptable connection speed at 9 AM and then by 12 PM it dropped below an acceptable number you can ask, “What changed on your end around noon?” A lot of times something else in the environment has an effect on this number. You may find that the user was working from their office close to a Wi-Fi connection and then moved down to an area like their kitchen where their Wi-Fi signal isn’t strong enough to maintain acceptable bandwidth. Sometimes outside factors can come into place like someone else on the network steaming or downloading taking up all available bandwidth. |
ICA Channel Usage
ICA Channel Usage is an overview of metrics collected from the ICA channel.
Figure 3: ICA Channel Usage chart expanded
The following table describes each ICA Channel that can be found in the ICA Channel Usage chart as well as some additional details about some of the more common channels that can impact user experience.
The most common channels that can impact user experience are marked with an asterisks * in the table below.
ICA Channel Usage metrics |
Description |
---|---|
Input Audio Bandwidth* |
The bandwidth, measured in bps, used when playing sound in an ICA session. Inbound through microphone or delivery over speakers. Streaming audio is generally in the 50-60k /sec range, which is certainly an impact when considered across multiple sessions, rather than a single session, unless the user has a very slow outbound line speed. |
Input Clipboard Bandwidth* |
The bandwidth, measured in bps, used when performing clipboard operations such as cut-and-paste between the ICA session and the local window. The clipboard can contain large amounts of data, which often consume more bandwidth depending on user activity, than printing. |
Input COM 1 Bandwidth | The bandwidth, measured in bps, used when routing a print job through an ICA session that does not support a spooler to a client printer attached to the client COM 1 port. |
Input COM 2 Bandwidth | The bandwidth, measured in bps, used when routing a print job through an ICA session that does not support a spooler to a client printer attached to the client COM 2 port. |
Input COM Bandwidth | The bandwidth, measured in bps, used when sending data to the client COM port. |
Input Control Channel Bandwidth | The bandwidth, measured in bps, used when executing LongCommandLine parameters of a published application. |
Input Drive Bandwidth* |
The bandwidth, measured in bps, used when performing file operations between the client and server drives during an ICA session. If a user is reading and opening large files into applications in the session host, this can consume a large amount of bandwidth. |
Input Font Data Bandwidth | The bandwidth, measured in bps, used when initiating font changes within a SpeedScreen-enabled ICA session. |
Input HDX Mediastream for Flash Data Bandwidth | The bandwidth, measured in bps, used when streaming Flash data in an HDX-enabled session. |
Input Licensing Bandwidth | The bandwidth, measured in bps, used to negotiate licensing during the session establishment phase. Often, no data for this counter is available, as this negotiation takes place before logon. |
Input LPT 1 Bandwidth | The bandwidth on the virtual channel that prints to a client printer attached to the client LPT 1 port through an ICA session that does not support a spooler. This is measured in bps. |
Input LPT 2 Bandwidth | The bandwidth on the virtual channel that prints to a client printer attached to the client LPT 2 port through an ICA session that does not support a spooler. This is measured in bps. |
Input PN Bandwidth |
The bandwidth, measured in bps, for the Program Neighborhood used to collect application set information. |
Input Printer Bandwidth* |
The bandwidth, measured in bps, used when printing to a client printer through a client that has print spooler support enabled. Print jobs that begin as PDFs can explode to 8x the size when sent over the protocol. This channel is only engaged when the user sends a print job to a locally mapped printer. |
Input Seamless Bandwidth | The bandwidth, measured in bps, used for published applications that are not embedded in a session window. |
Input Session Bandwidth | The bandwidth, measured in bps, used from client to server for a session. |
Input Session Compression | The compression ratio used from client to server for a session. |
Input Session Line Speed | The line speed, measured in bps, used from client to server for a session. |
Input Smart Card Bandwidth | The bandwidth, measured in bps, used by SmartCard reader. |
Input SpeedScreen Data Channel Bandwidth | The bandwidth, measured in bps, used from client to server for data channel traffic. |
Input SpeedScreen Multimedia Acceleration Bandwidth |
The bandwidth, measured in bps, used for streaming audio and video using HDX MediaStream Multimedia Acceleration. |
Input Text Echo Bandwidth | The bandwidth, measured in bps, used for text echoing. |
Input ThinWire Bandwidth* |
The bandwidth, measured in bps, used from client to server for ThinWire traffic.
|
Input TWAIN Bandwidth |
The bandwidth, measured in bps, used for TWAIN-compliant scanner devices. |
Input USB Bandwidth* |
The bandwidth, in bps, used for the USB port traffic. |
Latency - Last Recorded | The last recorded latency measurement for the session. |
Latency - Session Average | The average client latency over the lifetime of a session. |
Latency - Session Deviation | The difference between the minimum and maximum measured latency values for a session. |
Output Audio Bandwidth* |
The bandwidth, measured in bps, used for playing sound in an ICA session. Streaming audio is generally in the 50-60k /sec range, which is certainly an impact when considered across multiple sessions, rather than a single session, unless the user has a very slow outbound line speed. |
Output Clipboard Bandwidth* |
The bandwidth, measured in bps, used for clipboard operations such as cut-and-paste between the ICA session and the local window. The clipboard can contain large amounts of data, which often consume more bandwidth depending on user activity, than printing. |
Output COM 1 Bandwidth | The bandwidth, measured in bps, used when routing a print job through an ICA session that does not support a spooler to a client printer attached to the client COM 1 port. |
Output COM 2 Bandwidth | The bandwidth, measured in bps, used when routing a print job through an ICA session that does not support a spooler to a client printer attached to the client COM 2 port. |
Output COM Bandwidth | The bandwidth, measured in bps, used when receiving data from the client COM port. |
Output Control Channel Bandwidth | The bandwidth, measured in bps, used when executing LongCommandLine parameters of a published application. |
Output Drive Bandwidth* |
The bandwidth, measured in bps, used when performing file operations between the client and server drives during an ICA session. If a user is reading and opening large files into applications in the session host, this can consume a large amount of bandwidth. |
Output Font Data Bandwidth | The bandwidth, measured in bps, used when initiating font changes within a SpeedScreen-enabled ICA session. |
Output Licensing Bandwidth | The bandwidth, measured in bps, used to negotiate licensing during the session establishment phase. Often, no data for this counter is available, as this negotiation takes place before logon. |
Output HDX Mediastream for Flash Data Bandwidth | The bandwidth, measured in bps, used when streaming Flash data in an HDX-enabled session. |
Output LPT 1 Bandwidth | The bandwidth, measured in bps, used when routing a print job through an ICA session that does not support a spooler to a client printer attached to the client LPT 1 port. |
Output LPT 2 Bandwidth | The bandwidth, measured in bps, used when routing a print job through an ICA session that does not support a spooler to a client printer attached to the client LPT 2 port. |
Output Management Bandwidth | The bandwidth, measured in bps, used when performing management functions. |
Output PN Bandwidth | The bandwidth, measured in bps, for the Program Neighborhood used to collect application set information. |
Output Printer Bandwidth* |
The bandwidth, measured in bps, used when printing to a client printer through a client that has print spooler support enabled. Print jobs that begin as PDFs can explode to 8x the size when sent over the protocol. This channel is only engaged when the user sends a print job to a locally mapped printer. |
Output Seamless Bandwidth | The bandwidth, measured in bps, used for published applications that are not embedded in a session window. |
Output Session Bandwidth | The bandwidth, measured in bps, used from server to client for a session. |
Output Session Compression | The compression ratio used from server to client for a session. |
Output Session Line Speed | The line speed, measured in bps, used from server to client for a session. |
Output Smart Card Bandwidth | The bandwidth, measured in bps, used by SmartCard reader. |
Output SpeedScreen Data Channel Bandwidth | The bandwidth, measured in bps, used from server to client for data channel traffic. |
Output SpeedScreen Multimedia Acceleration Bandwidth | The bandwidth, measured in bps, used for streaming audio and video using HDX MediaStream Multimedia Acceleration. |
Output Text Echo Bandwidth | The bandwidth, measured in bps, used for text echoing. |
Output ThinWire Bandwidth* |
The bandwidth, measured in bps, used from server to client for ThinWire traffic. Channel usage below 200k /sec is generally work processing and text. 400-800k/sec is generally web page or similar type of traffic 800-1200 k/sec is graphic rich content, and low quality video. 1200 k/sec + is high fidelity video traffic. |
Output TWAIN Bandwidth |
The bandwidth, measured in bps, used for TWAIN-compliant scanner devices. |
Output USB Bandwidth |
The bandwidth, in bps, used for the USB port traffic. |
Resource Shares |
The total number of shares used by the session. |
* Commonly impacts user experience.
How to Troubleshoot: These numbers can increase with audio steaming, video steaming and printing from the session host back to the endpoint allowing you to determine what the user is doing inside the session that may be causing issues. Some of the most common channels that can impact user experience issues are described below.
Thinwire When looking at the Thinwire utilization, we are looking to determine if there is sustained high bandwidth usage, especially over 1000 kb/sec. This is generally indicative of video traffic, and traffic over 1500-2000 kb /sec is usually HD video. The application responsible for the high bandwidth usage will generally have CPU usage over 30% sustained, and goes up depending on the viewable area the video is being presented in. ICA will only process the changing pixels, usually, in the portion of the screen affected, and so full screen video or large images being viewed will result in large amounts of data and high CPU usage.
Audio Bandwidth While streaming audio will generally not be the cause of an individual’s session to perform poorly due to its relatively low bitrate at 48-64kb /sec, it is generally a good indicator to the type of activity on a user’s session. If the audio channel is engaged in conjunction with high Thinwire usage, then generally speaking, video is being played. Audio, like the other channels are presented both inbound and outbound, and as such inbound traffic is usually indicative of dictation activities, which are sensitive to dips in bandwidth and other activities occurring at the same time.
Printing Bandwidth This is often expected to be the culprit for poor performance, and on slower connections, it still can be a primary cause of slowness, predominantly because print files are generally sent in RAW which can balloon the size of data being sent. An 8mb PDF can become an 80mb file or more. Printing jobs are generally sent infrequently and as such are not a problem, except for a moment in time, and network printers take the stress of printing off the remoting protocol altogether as it does not need to be sent back down to the client.
Clipboard Users that perform heavy copy/paste functionality, specifically when copied between ICA sessions, will see high clipboard usage being consumed, and needs to be monitored.
Drive Mapping & USB Redirection While bandwidth usage alone may not be a problem, usage of the channel is indicative of a user not following best practices for a good experience inside of a session. Problems are prevalent in terms of port mapping during reconnects, especially if files on the redirected drive or device are still open in applications, which can cause crashes or errors.
|
Frames Per Second
Frames Per Second is a good resource to get a feel for the user’s visual experience. A higher FPS number gives a better visual experience but requires more bandwidth and processing on the host machine.
Figure 4: Frames per Second chart expanded
How to Troubleshoot: The amount of FPS is determined by ICA and can be controlled by policy. Users with low FPS often have lower bandwidth connections. Constant FPS above 20 FPS can be indicative of a user watching a video inside of their Citrix session. |