Why test internet latency? Application latency has a large impact on user experience for web sites and applications. Testing latency provides insight into its origin. With the right tools you can determine if latency is caused by the internet or your network, your device or browser or the server or site you are connecting to. This article explains how to check internet latency, how to test latency and improve the user experience of your employees and website visitors.
We will explain how five common network latency test tools work so you can choose the right one to test the latency of your internet connection and application. Online latency test sites are not usually precise enough to reveal the cause, so let’s take a look at how to test latency like a pro!
Top 5 Network Latency Test Tools
The most common internet latency test tools are:
- Ping
- Traceroute
- OWAMP
- TWAMP
- iPerf
Each has their strengths and weaknesses when testing latency. Some network latency tests work well for internet latency, others are best suited to testing local or private network latency.
Ping and Traceroute Latency Testing
Ping and traceroute are latency tests you can perform from your PC. They can be used to test online and internet latency as well as to check latency in your local network.
Measure network latency with PING
Ping is the simplest approach to test network latency from your computer.
How ping works
Ping is a standard latency test tool available on all operating systems. It measures the round trip time (RTT) between your PC and the target you specify (domain or IP address). RTT is the time it takes for the ping packet to reach the target plus the time it takes to return the result, so it measures the total latency to get a response from a server, PC, router or internet site.
To use ping open a console or terminal window and type ping domain. If you provide a domain name (like google.com) ping will first verify that it can resolve the domain and report back its corresponding IP address. You can alternatively provide the IP address of the server you want to test latency to.
The following example shows that the minimum, maximum and average round trip latency times are 20ms, 24ms and 21ms respectively.
By default, a ping command tests latency by sending four ICMP Echo Request packets to the destination which responds back with ICMP Echo Reply packets which are then used to calculate latency.
Advantages
The main advantage of this method is its simplicity. You do not need anything installed on your PC to test internet latency to any domain, or network latency to any IP address. It’s a good way to check if latency is a problem.
Limitations
Unfortunately, simplicity often comes with limitations.
First, for security reasons, ICMP packets may be blocked by an intermediate firewall. In this case, the target will never respond to your ICMP Echo Request and you will not be able to measure the network latency.
Second, the ICMP protocol may be handled with low priority by intermediate routers, distorting the accuracy of the latency measurements.
Finally, as ping measures the round trip delay you cannot differentiate the network latency in either direction (e.g. upload vs. download direction internet latency), so it is not possible to detect directional network latency problems. Directional latency problems regularly affect web conferencing applications like Zoom, Microsoft Teams and Google Meet.
Measure network performance with Traceroute
As an alternative to ping, you can check network latency with traceroute. This approach to testing latency is also available on all operating systems. From a terminal window, use these commands:
- tracert command on Windows machines
- traceroute command on Linux and Mac machines
How Traceroute works
Traceroute uses the TTL (Time To Live) field of IP packets to discover intermediate routers between a source and a destination. This technique tests latency to each hop along the network path and identifies them by IP address as it tests. This provides more insight into the origin of network latency problems.
The principle is simple. Each time a router forwards a packet its corresponding TTL field value is decremented by 1. When this value reaches 1, the router drops the packet and sends an ICMP Error message “TTL exceeded in transit” back to the source. This mechanism is used to prevent packets from looping indefinitely, which may cause the whole network to crash. In this case traceroute is taking advantage of this behaviour to check latency to intermediate locations.
Receiving ICMP packets back from intermediate routers allows the source to discover them as well as measure the network latency to reach them.
In its simplest form, traceroute uses ICMP protocol (Echo Request) for sending packets to test latency and discover the hops along the network path. Some routers may not respond to ICMP packets for security reasons. This means that latency testing will stop at this point, preventing you from checking latency end-to-end. You can see this in the image below.
You can also see that traceroute sends four packets per hop by default on a Windows platform.
More advanced implementations also use UDP or TCP transport protocols, and offer more options (packet size, probe interval, number of probes per hop, …). This ensures that your latency tests are better aligned with real network traffic and the way that it’s routed. Nevertheless, all traceroute implementations still rely on the ICMP Echo Reply messages that are often processed with much lower priorities, impacting accuracy the same way ping latency tests are affected.
And just like ping, testing latency using traceroute returns the r