Understanding Network Bandwidth vs Latency
The terms "network bandwidth" and "network latency" are sometimes used interchangeably, but they actually describe two separate concepts. Comprehending the difference between them is key to understanding frontend web performance. This guide explains how to take optimal advantage of network bandwidth while reducing latency so that you can deliver a fast and flawless user experience.
Bandwidth vs latency
A quick definition of both bandwidth and latency can be described as follows:
- Latency is the amount of time it takes for data to travel from one point to another. It is dependent on the physical distance that data must travel through cords, networks and the like to reach its destination.
- Bandwidth is the rate of data transfer for a fixed period of time. Bandwidth, as its name implies, is the width of a communication band. The wider the communication band, the more data that can flow through it simultaneously.
When most people talk about "internet speed," they usually talk in terms of network bandwidth. Bandwidth can also be interpreted as a traffic number. This is especially true when referencing services such as content delivery networks or web hosts which charge clients based on a combination of inbound/outbound bandwidth.
While bandwidth plays a big role in how fast webpages load, the journey from one machine to another takes time to traverse. No matter how much data you can send and receive at once, it can only travel as fast as latency allows. Of course, this means that websites run slower for some users depending on their physical location. Figuring how to faster reach users from all points of the globe is what reducing latency is all about.
What is broadband?
Long ago, internet signals traveled through the same infrastructure as landline telephones. The dark days of dial-up paved the way for the birth of broadband, a high-capacity transmission technique that takes advantage of multiple frequencies to transmit large chunks of data simultaneously.
Today, most of the web's data travels through optical fibers, which are tiny tubes, thinner than human hair, that can transmit light. Metal wires are still sometimes used although they require more maintenance and are vulnerable to signal loss and electromagnetic interference. Optical fibers are currently one of the best transmission options for bandwidth because each fiber is capable of carrying several different wavelengths of light at once thanks to a process called wavelength-division multiplexing, or WDM. Most fiber optic cables contain at least four fibers, which greatly increases the amount of data flow possible. It would take thousands of copper wires to achieve the same bandwidth capacity, so all subsea and transcontinental journeys are made via fiber-optic links.
The millions of fiber links that make up the backbone, or the core data paths, of the internet can transmit hundreds of terabits every second. Bandwidth at the edges of the internet, however, is limited by deployed technologies and the performance of local routers.
The available bandwidth to the user is a function of the lowest capacity link between the client and the destination server.
The limitations of latency
Latency wasn't something that users or developers worried about in previous decades. Personal internet connections were much slower during the 1990s and early 2000s, so the delay between sending a request and receiving a response was significantly smaller than the amount of time it took for downloads to complete.
Today, higher bandwidth connections have made downloads much faster, so latency often accounts for a greater proportion of wait time. For example, an image may take just 5 milliseconds to actually download, but it's typical for users to wait 100-150 milliseconds before receiving the first byte of data. In such cases, latency accounts for about 90 percent of the time it takes to request and download the image!
Cloud computing and mobile technologies have made it easier for web developers to reach a global audience, but they have also unmasked the limitations of latency. No matter the size of your network bandwidth, high latency can drag down an application's performance. Every 20 milliseconds of network latency adds between 7-15 percent to the overall page load time, so an excess of latency can quickly bring streaming videos to a halt.
5 Tips for optimizing network bandwidth
Many network managers have the seemingly impossible task of providing an optimal end-user experience while limiting operational costs. No matter how much network bandwidth you're paying for, here are some tips to help make sure you're getting your money's worth:
1. Understand the difference between bandwidth and throughput
These two terms are also used interchangeably, yet they have different meanings. Bandwidth refers to the size of your communication channel while throughput is the capacity of your processing system to send and receive data. Therefore, it's possible that your hardware isn't capable of utilizing your maximum bandwidth. Network World has a helpful article with additional tips for increasing throughput.
2. Weigh your performance tradeoffs
Poor performance isn't always caused by insufficient network bandwidth. Keeping track of how busy your links are can help you better understand the relationship between bandwidth and performance. For example, under-utilized links could be sucking away bandwidth resources from over-utilized links. It may be better to sacrifice one feature to give a performance boost to another.
3. Choose the right monitoring tools
Speaking of over-utilized network bandwidth, there are plenty of website monitoring tools that can help you figure out exactly how your resources are being allocated. Analyzing long-term trends isn't always helpful because they can mask utilization peaks. Likewise, looking at just the peaks only tells you which links are the busiest. Good monitoring software can give you a full picture to guide your optimization efforts.
4. Make sure bandwidth is used for business purposes
If you have a big team all working on the same network, the employees running Netflix on their desktops could be slowing things down for everyone including end-users. Surfing the web while you work is a common workplace habit these days, but try to limit internet use for recreational purposes while on company networks. If a business application is causing a lot of congestion, have your IT team determine if it can be optimized or if it should be removed from the network all together.
5. Use proactive capacity planning
Even with the right monitoring software, keeping track of your link activity gets more time consuming as networks grow in complexity. Nonetheless, you should always make time for capacity planning. Don't worry about links that receive little attention; prioritize the links that are the busiest. Set up customized alerting that lets you know when bandwidth exceeds 80 percent for three consecutive minutes, and have a reaction plan ready. Otherwise, you could receive a 509 bandwidth limit exceeded error from your hosting provider.
5 Tips for reducing network latency
Frontend performance optimization is your best bet for getting latency under control. Here are some pointers to help you reach users faster.
1. Know how visitors connect to you
Set up some analytical software such as Google Analytics to get more information regarding what type of devices your users are primarily using to access your site. If the majority of your traffic is coming from mobile devices, that information can help guide how you allocate web resources. This information is accessible with Google Analytics by navigating to Audience > Mobile > Overview.
2. Consider content delivery networks
Using a content delivery network, or a CDN, can reduce latency for static web pages and some other types of content. CDNs are networks of distributed servers that facilitate faster travel based on the user's geographic location. CDNs can also help improve other aspects of a website by providing increased security, improved reliability, etc. Read more about 10 reasons why to use a CDN.
3. Monitor and analyze network bottlenecks
Make note of your network traffic flows at different times of the day to pinpoint bottlenecks. You can reduce the latency of congested network nodes by adding more processing power or network adapters to a particular server. Reducing the number of nodes and centralizing network connection points can also cut down on latency.
4. Know your cloud infrastructure
Admins should know exactly how data moves from in-house equipment, across various servers and finally to users' devices. Auditing tools like CloudSleuth and Stackdriver can help you chart the course of your data's travels. These services simulate real-world app conditions and run simultaneous transactions on servers set up in different locations worldwide. They then measure the response time of the application hosted at different cloud providers to create a map of the journey, which can steer your optimization efforts.
5. Other latency optimization tips
There are a few quick wins that you can implement to help further reduce latency. These include:
Now that we are at the dawn of the fifth generation of wireless networks, we can expect to see old challenges become a distant memory, but new ones will inevitably arise. Broadband has made the web much faster in comparison to what it was only 10 years ago, but we still have a ways to go to get around the latency limitations that prohibit truly lightning fast internet service.