eG Monitoring
 
Measures reported by VmgRdpRemoteFxTest

Microsoft® RemoteFX™ enables the delivery of a full Windows user experience to a range of client devices including rich clients, thin clients, and ultrathin clients. RemoteFX delivers a rich user experience for Virtual Desktop Infrastructure (VDI) by providing a 3D virtual adapter, intelligent codecs, and the ability to redirect USB devices in virtual machines. RemoteFX is integrated with the RDP protocol, which enables shared encryption, authentication, management, and device support. RemoteFX also delivers a rich user experience for session-based desktops and RemoteApp programs to a broad range of client devices.

If a remote user's experience with a RemoteFX-enabled ESX server is poor, then administrators should be able to quickly figure out what is causing the quality of the UX to suffer - is it poor frame quality? or severe packet loss? or bad picture output owing to a high compression ratio? or bottleneck in TCP/UDP connectivity? The VmgRdpRemoteFxTest test helps answer this question. For each remote user connecting to a RemoteFX-enabled ESX server, this test measures user experience and reports abnormalities (if any). This way, users who are experiencing a poor visual experience can be isolated and the reason for the same can be ascertained. In addition, the test points you to RemoteFX features that may have to be tweaked in order improve overall performance.

Outputs of the test : One set of results for every user logged into the VDI server.

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
Average_encoding_time Indicates the average time taken for encoding the frames of this user. Secs Compare the value of this measure across users to know for which user frames encoding took too long.
Frame_quality Indicates the quality of the output frame expressed as a percentage of the quality of the source frame for this user. Percent High frame rates produce a smooth representation of frames for the particular user,while low frame rates may cause rough or choppy representation of frames for the particular user. A high value is hence desired for this measure.

Compare the value of this measure across users to know which user received the poorest frame quality.

Client_resource Indicates the rate at which frames were skipped for this user due to insufficient client resources. Frames/Sec A low value is desired for this measure. Compare the value of this measure across users to know which user is connecting from a client sized with inadequate resources.
Network_resource Indicates the rate at which frames were skipped for this user due to insufficient network resources. Frames/Sec A low value is desired for this measure. Compare the value of this measure across users to know which user is connecting via a network that is sized with inadequate resources.
Server_resource Indicates the rate at which frames were skipped for this user due to insufficient server resources. Frames/Sec A low value is desired for this measure. Compare the value of this measure across users to know which user was unable to receive frames due to the lack of enough resources on the VDI server.
Graphics_compress_ratio Indicates the ratio of the number of bytes encoded to the number of bytes input for this user. Percent The compression ratio typically affects the quality of the picture. Generally, the higher the compression ratio, the poorer the quality of the resulting picture. Ideally therefore, the value of this measure should be 0. You can compare the value of this measure across users to identify that user whose picture output was very poor owing to high compression.
Input_frames Indicates the number of source frames provided per second as input to the RemoteFx graphics for this user. Frames/Sec  
Output_frames Indicates the number of source frames sent per second to this user as output of RemoteFx graphics. Frames/Sec  
Source_frames Indicates number of frames per second composed at the source for this user. Frames/Sec  
Base_tcp_rtt Indicates the time between initiating a network request and receiving a response over TCP for this user. Secs A high value for this measure could indicate a bottleneck in TCP connectivity between the user terminal and the server.
Base_udp_rtt Indicates the time between initiating a network request and receiving a response over UDP for this user. Secs A high value for this measure could indicate a bottleneck in UDP connectivity between the user terminal and the server.
Curr_tcp_bandwidth Indicates the amount of data that is currently carried from one point to another over TCP for this user. Kbps A consistent rise in the value of this measure could indicate that TCP traffic to/from the user is consuming bandwidth excessively. Compare the value of this measure across users to identify that user who is performing bandwidth-intensive operations on the VDI server.
Curr_tcp_rtt Indicates the average time between initiating a network request and receiving a response over TCP for this user. Secs A high value could indicate a current problem with TCP connectivity between the user terminal and the server.
Current_udp_bandwidth Indicates the amount of data that is currently carried from one point to another over UDP for this user. Kbps A consistent rise in the value of this measure could indicate that UDP traffic to/from the user is consuming bandwidth excessively. Compare the value of this measure across users to identify that user who is performing bandwidth-intensive operations on the VDI server.
Current_udp_rtt Indicates the average time between initiating a network request and receiving a response over UDP for this user. Secs A high value could indicate a current problem with UDP connectivity between the user terminal and the server.
Fec_rate Indicates the percentage of forward error corrections performed for this user. Percent RemoteFX UDP transport uses Forward Error Correction (FEC) to recover from the lost data packets. In the cases where such packets can be recovered, the transport doesn't need to wait for the data to be retransmitted, which allows immediate delivery of data and prevents Head of Line Blocking. Preventing this stall results in an overall improved responsiveness.

A high value is hence desired for this measure.

Loss_rate Indicates the percentage of packets lost when being transmitted to this user. Percent A high value indicates that a large number of packets were lost without being retransmitted. By comparing the value of this measure across users, you can find that user who has suffered the maximum data loss. This could be owing to a bad network connection between the remote user terminal and the server.
Retransmit_rate Indicates the percentage of packets that have been retransmitted to this user. Percent Retransmissions should only occur when it is certain that a packet to be retransmitted was actually lost.Redundant retransmissions can also occur because of lost acknowledgments, coarse feedback, and bad retransmissions. Retransmission rates over 5% can indicate degraded network performance on a LAN. The internet may vary between 5 and 15 percent depending upon traffic conditions. Any value above 25 percent indicates an excessive number of retransmissions that will significantly increase the time for the file transfer and annoy the user.
Tcp_received_rate Indicates the rate at which the data is received over TCP for this user. Kbps A high value is desired for these measures as it indicates high TCP throughput.
Tcp_sent_rate Indicates the rate at which the data is sent over TCP for this user. Kbps
Udp_received_rate Indicates the rate at which the data is received over UDP for this user. Kbps A high value is desired for these measures as it indicates high UDP throughput.
Udp_sent_rate Indicates the rate at which the data is sent over UDP for this user. Kbps