The technology we utilize has created a global community where physical location and distance are no longer barriers. Real-time communication is vital to that fast-paced, ever-changing, and increasingly digital world.
In addition to rapidly changing technology, global events have transformed the economy over the last few years. Of the many challenges businesses have faced, one thing that hasn’t changed is the need for face-to-face communication. Enabling smooth, real-time communication is critical. Failure to deliver this key aspect not only causes user frustration, but ultimately results in revenue loss.
To remain competitive, it’s essential that developers have a thorough understanding of the factors that affect efficient communication. Enter the latency vs. jitter debate.
Two of the biggest causes of interruption in real-time communications are latency and jitter in your network. Jitter vs. latency is a vital distinction to understand because, although there are some similarities between the two (both have a negative impact on network performance, for example), they are entirely different phenomena.
For your applications to operate smoothly, you’ll need to ensure both jitter and latency are minimized. Understanding the difference between jitter and latency is fundamental to finding the right solutions. In this article, we’ll help you understand what causes jitter vs. latency, how to identify and monitor both, and outline strategies to reduce them so you can optimize real-time communications.
What is Latency?
Latency refers to the delays that occur within a network. More specifically, it is the time taken for data to travel from one endpoint to another. Latency is measured in milliseconds and, in most cases, is calculated as a round trip. To give the example of a webpage, latency is the time it takes between clicking on a URL for the page to load in the browser. A high round-trip time indicates that the network is not performing optimally.
How much latency is OK?
Zero latency is ideal, but this is not practically possible. In theory, internet transmissions can travel at the speed of light. However, a small delay is a natural byproduct of the transmission process. So what is an acceptable degree of latency? According to Cisco, a delay of 300ms or less is sufficient for smooth communication.
What is Jitter?
To properly understand jitter, it helps to first consider how data is transmitted across a network. Information is broken down into packets and sent to the receiver at evenly-spaced intervals. Upon arrival at their destination, the packets are reassembled. In smooth communication, data packets flow consistently and arrive at their destination in the correct order. However, data packets sometimes arrive late or out of order due to network congestion or occasional rerouting. The variation in this latency or delay of the transmission is referred to as jitter. Like latency, jitter is also measured in milliseconds. High jitter denotes a significant variation in latency, whereas low jitter represents only minor changes.
How much jitter is OK?
A uniform delay does not affect audio or video application, but variations in the delay can be disastrous for VoIP and other services. A jitter of 30ms or less is generally regarded as acceptable, but anything above this will affect user experience.
Latency vs Jitter: What’s the Difference?
As we’ve discussed, latency is the delay in transferring data to a given network destination, and jitter is the variation within that delay. However, although many developers think in terms of jitter vs. latency, it’s not necessarily an either/or situation. The two are more interrelated than that because packets jitter can cause delay, aka latency. To minimize both, we must understand the effects and causes, and learn how to test and monitor latency and jitter.
The Effects of Jitter and Latency
High levels of latency or jitter can be a significant barrier to communication performance, especially real-time video and voice engagement. But how do the two manifest themselves in the real-time communication experience?
We can all agree that nothing is more irritating for users than experiencing stuttering calls, robotic feedback, buffering delays, or dropped connections. This is exactly what happens when a network experiences high jitter. Latency can be equally frustrating, causing laggy calls, echo, and overlapping conversations. Put more simply, voice delay is caused by latency, and call quality is impacted by jitter.
Poor communication aside, timeouts on networks with high latency and jitter can have devastating effects for businesses when conversations are time-sensitive. Controlling the effects is therefore vital in optimizing organizational efficiency and productivity. But, how do you know which one is the root cause of your issues? Let’s consider the options for testing and monitoring your network.
Testing Your Network
Your first step in minimizing either disruption is distinguishing between latency vs. jitter as the source of the issue.
Testing for Latency
Latency is often described in terms of “ping time,” with a high ping time indicating a high degree of latency. Ping tests are the simplest way to determine the latency in your network, and are especially helpful if your network includes home users. However, businesses with large and extended networks may wish to take a more comprehensive approach. More on that in the next section, but for now, let’s look at how to measure latency with a simple command prompt:
- Type ‘ping [IP address or hostname]’ and press enter. To ping Google, type “ping www.google.com -t”.
- The response time of the ping will be measured and displayed.
- If the response time is larger than expected, there is likely an issue with latency.
- To stop the test, type Ctrl+C.
When you stop the test, you will be presented with minimum, maximum, and average round trip times in milliseconds and a summary of packet loss.
Here is an example output:
PING google.com (126.96.36.199): 56 data bytes
64 bytes from 188.8.131.52: icmp_seq=0 ttl=54 time=17.8 ms
64 bytes from 184.108.40.206: icmp_seq=1 ttl=54 time=17.2 ms
64 bytes from 220.127.116.11: icmp_seq=2 ttl=54 time=17.3 ms
— google.com ping statistics — 3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 17.2/17.5/17.8/0.2 ms
Testing for Jitter
At first glance, it may not be obvious how a ping test can help to determine network jitter. After all, there’s no direct way to measure jitter vs. ping. However, that doesn’t mean a ping test is entirely unhelpful. You can still identify and derive ping vs. jitter by calculating the average difference in values between each consecutive ping test. This value, in milliseconds, is a measure of jitter. In other words, jitter can be considered the rate at which ping spikes or stutters over time.
Another popular option is to use an online speed test such as TestMy.net, which will display your jitter and latency scores without you having to run your own ping tests.
However, it’s essential to note that tools like this only give a general overview of your jitter score and do not measure the latency and jitter for an entire server.
Monitoring Latency and Jitter
While the tests listed above are a good starting point, they are not without drawbacks. Nor are they a long-term solution for developers. For an accurate picture over an extended period, tests must be continuously repeated so you can track trends and changes. Plus, ping tests are generally considered a reactive approach, and therefore impractical in competitive and time-sensitive business environments. For those looking for a more efficient solution, developers may wish to utilize a more proactive network monitoring system.
There are several options. Products such as the Paessler PRTG Network Monitor contain multiple sensors that can be customized to monitor vast numbers of different network conditions. Monitoring tools like this can be set up to send automatic alerts whenever minimum thresholds are exceeded. They can also save historical data to help you fully understand the health of your network.
Whichever strategies and software you use to test and monitor for jitter and latency in your network, the next step is to determine the causes and eliminate or minimize them. However, as we know, the topic of latency vs. jitter is far from simple. So, if you are looking for an all-round solution that can take the headache and effort out of maintaining a top-quality network to support smooth real-time communication, you will likely benefit from exploring other technologies. For example, Agora Video Chat SDK provides a clear and more seamless experience, without you having to lift a finger or worry about the accuracy of complex testing procedures yourself.
Causes of Latency vs. Jitter
There are several causes of latency and jitter. Some affect only one aspect, while others contribute to both elements. So, before you can take steps to tackle any of them, you must first develop a firm understanding of the factors that contribute to latency, jitter, and both.
Causes of Both Jitter and Latency
- Insufficient bandwidth – Latency and jitter are both caused by inadequate bandwidth, meaning there are too many devices trying to pull excessive amounts of data across the network, and the system simply cannot keep up with the demand. When bandwidth limits are exceeded, the resulting congestion causes packets to be delayed or lost, which will increase the amount of both latency and jitter.
- Inferior transmission medium – If you are using wifi, you may experience greater disruption compared using a network cable. The situation is exacerbated by increased distance from the router and can be affected by low signal strength — even when using a booster. Mediums like WAN and fiber optic cables both have inherent limitations which can produce jitter and latency.
- Old or poorly-performing hardware – The network infrastructure itself can sometimes be the cause of latency and jitter. How efficiently data is received is determined by the weakest point in the network. Older network equipment such as wifi, routers, switches, and cables may not be built to handle large quantities of data. This is especially pertinent in networks where end user hardware may include limited CPU and memory, old browsers, or outdated operating systems that impose restrictions on how much data they can handle.
Causes of Latency
- Distance between source and destination – This is one of the most significant causes of latency. The greater the distance, the further the data packets must travel over multiple networks and numerous routers. If just one of those routers is over capacity, there will likely be a delay.
- Misconfiguration – When software and hardware are poorly configured, packet collisions can occur, slowing down communication.
- Packet loss and jitter – If a significant percentage of packets are misrouted or fail to reach their destination, overall delays are inevitable while the network tries to reroute the packets.
- Packet size – Larger packets take longer to travel than smaller ones.
- Type of data – Text packets travel faster than bandwidth-intensive media like videos. This is a particularly important consideration when managing real-time communication experiences.
Causes of Jitter
- Lack of packet prioritization – If priority is given to the wrong type of packet within your network, there is the potential for packets to be held behind other packets in your network, resulting in greater congestion.
- Routing issues – When packets are transmitted incorrectly, they are rerouted to their destination. This affects the order they are received in, causing jitter.
While all of these factors are worth consideration, it’s also worth noting that the main culprit in underperformance could be the software itself. That’s why it’s essential to choose a reputable platform for real-time communication that uses the most innovative technologies and tools to avoid and resolve problems derived from latency and jitter.
How to Fix and Minimize Latency and Jitter
It’s impossible to eliminate every source of disruption. However, there are several strategies to employ to minimize latency and jitter.
How Users Can Fix Jitter and Latency Issues
The following strategies can help users reduce latency and jitter simultaneously for improved network performance:
- Check Your Internet Speed: The first step in troubleshooting latency and jitter issues is to check your internet speed. This can be done by running a speed test and comparing the results to your ISP’s advertised speeds. If the speed test results are lower than expected, you may need to contact your ISP to resolve the issue.
- Check Your Network Connections: If your internet speed is adequate, the next step is to check your network connections. Ensure all your cables are connected properly, your router or modem is in a good location, and your network settings are configured correctly. You may also need to check for any wireless interference affecting your connection.
- Reset Your Network Devices: If the above steps don’t help, you may need to reset your network devices, such as your modem, router, or switch. Doing so will reset your settings and connections, which could help resolve the issue.
- Update Your Firmware: Outdated firmware can sometimes cause latency and jitter issues, so make sure to keep your devices up to date.
- Use Quality of Service (QoS) Settings: Quality of Service (QoS) settings allow you to prioritize certain types of network traffic. Changing settings can help reduce the latency and jitter caused by competing traffic.
- Try a Wired Connection: If you’re using a wireless connection, try connecting directly with an Ethernet cable. This can help reduce latency and jitter caused by wireless interference.
- Use a VPN: A Virtual Private Network (VPN) can help reduce latency and jitter by routing your traffic through a secure tunnel. It can also help protect your data from being monitored or tampered with.
How Developers can Reduce Latency
Tactics to reduce network latency, focus on reducing how long data packets spend in transit.
- Set up a Content Delivery Network (CND) – Using techniques like caching, connection optimization, and progressive image rendering means visitors have a shorter route to access the content. CNDs send traffic through the fewest possible hoops to provide a better experience.
- Find and eliminate bottlenecks – Monitor the flow of traffic on your network to pinpoint problem areas so you can reroute or upgrade routers as needed, etc.
- Remove problematic endpoints – Prevent using excessive bandwidth by utilizing a software tool like Solar-Winds Network Performance Manager to create a heat map that determines the weakest points.
- Use download managers – Download managers prevent a small number of systems from hogging the bandwidth by managing the load distribution, allowing the network to complete faster downloads.
- Optimize network configurations – Employ techniques like subnetting, traffic shaping, and load balancing as corrective action in instances where specific attention is needed.
Strategies that Reduce Jitter for Developers
The best solution to fix jitter will likely be determined by the specific issue, but the following are good starting points.
- Jitter buffers – Commonly used in voice calling and streaming services, the buffer sits between two endpoints on the network. Buffers stop jitter by holding onto packets and releasing them after a stipulated amount of time, thus ensuring they are transmitted in sequence. There is a trade-off with latency here since the buffer deliberately delays packet release. So careful consideration is required when implementing buffers for two-way communication.
- Switch connections – Switch to a wired connection using the highest quality cable you can find. If this is not an option, try switching between 5GHz and 2.4GHz to minimize congestion.
The Perfect Solution for Developers to Minimize Latency and Jitter
The above strategies can improve latency and jitter issues. However, for developers who want to optimize their websites for real-time voice and video engagement (RTE) of the highest quality, Agora is the solution. Our goal is to empower developers to create better UX designs that elevate user experience by utilizing innovative technology and software that embodies the future of seamless real-time communication.
Because Agora’s global network enables low latency voice and video communication, it reduces jitter. Developers can rely on our platform to reduce latency so that the overall user experience is a smooth one.