Author : Ingmar Verheij
Latency is the time required for a package to travel to its destination. Latency arises because the media the packet is travelling on has limits (for instance bandwith) and because the packet has to be processed by systems (like NIC’s, switches, routers, etc.).
The more items in a chain the bigger the latency.
The performance of remoting protocols like Citrix ICA, Microsoft RDP, Quest EOP, etc. are affected by latency since it causes a delay. The bigger the delay between sending a package and receiving the response, the less responsive the session “feels”.
If you monitor the perceived performance on sites with high latency, you will notice it will degrade when the latency increases. The perceived performance can be quantified with the Perceived Performance Index (PPI) as described in this whitepaper. Especially the category A user actions, the visual feedback of a command, is affected by latency.
Determining the latency on a WAN connection is fairly easy. You can determine the round trip time (RTT) using the built-in command ping. Before executing the command you should know the packet size used by your remoting protocol.
The Citrix ICA protocol, for instance, uses a default packet size of 1460 bytes. However, few network types (usually wireless or satellite-based networks) perform better using smaller packet size like 1180 bytes/
The packet size used by the ping command can be adjusted (from the default 32 bytes) with the –l parameter. I usually send 10 packets using the –n parameter.
If you want to determine the latency (round trip time) for a remote machine using the Citrix ICA protocol with the default packet size of 1460 bytes the command will be:
ping -l 1460 -n 10 <IP address / FQDN>
The result will look like this:
The example shown above is on a asynchronous 256Kbps (Kilobits per second) WAN connection. The latency on the WAN connection causes a delay of 123 milliseconds.
PS: If you see a big gap between the Minimum and the Maximum result, you’re experiencing jitter.