Network throughput and bandwidth are two of the most important metrics of networks, yet they are often misunderstood and confused. Our objective today is to try to shed some light on the matter and give you a better understanding of what they are—and what they are not, what factors are affecting these important metrics and what tools can be used to actually measure them. We’ll try to keep our discussion as non-technical as possible while providing as much useful information as possible.
We’ll begin by trying to define what bandwidth and throughput are and, more importantly, how they differ as there seems to be quite a bit of confusion between the two terms. Next, we’ll explore the various factors that can affect throughput and network performance in general. We’ll have a look at delay and latency, jitter, and packet loss as they are the most common performance-affecting factors. And once we’re done with the theory, we’ll review some of the best tools one can use to monitor or measure network throughput.
About Bandwidth and Throughput
Bandwidth and throughput are somewhat different concepts despite a lot of confusion between them. Let’s try to sort it out, starting with bandwidth. Network bandwidth refers to the maximum amount of data that can be transferred per second on a network. It is, in other words, the data-carrying capacity of the network and although circuits can be upgraded, this is a complex endeavour and as such, bandwidth is not considered to be something we can easily control “on the fly”.
As for throughput, it refers to the actual amount of data carried on a network. Throughput often differs from bandwidth for several reasons. For instance, there might not be enough data to carry to use up all the available bandwidth. There could also be various factors slowing down the traffic as we’ll see shortly.
Another concept that seems to do nothing but add some confusion the all of this is speed. Speed often refers to how much data can be downloaded or uploaded through a specific connection such as a DSL or cable modem Internet service. In a nutshell, it is a non-technical, marketing term used by service providers to advertise their services. It is, however, roughly equivalent to bandwidth.
Factors Affecting Throughput
So, if throughput is the maximum carrying capacity of a circuit, it shouldn’t vary, right? Well, it actually does… a lot, actually. In fact, it is important to distinguish between maximum throughput and actual throughput. Let’s explain. Let’s consider, for example, the throughput of a data path between a server in one data center and another server in another data center. It would seem to be a reasonable assumption that the path’s throughput will be that of the segment with the lowest throughput. But while it is true that it will never be higher than that, it could, however, be lower. Let’s have a look at some of the main factors which could be affecting throughput.
Delay and Latency
Delay and latency are two of the main factors affecting perceived network performance. And much like bandwidth and throughput, there is often a lot of confusion between them, to the point that the two concepts are often used interchangeably. This is understandable as both have to do with the time it takes for data to travel from its source to its destination. Latency is often described as the time elapsed from the source sending a packet to the destination receiving it. It can also refer to the round-trip delay time which comprised the one-way latency from source to destination plus the one-way latency from the destination back to the source. In fact, round-trip latency is used more often, mainly because it can be measured from a single point.
Latency is a physical characteristic of networks. It is a factor of the distance between the source and the destination and the speed of light which, incidentally, it also the speed at which data travels over any type of media. Like bandwidth, latency is a fixed parameter. The only way to reduce it is to move the source closer to the destination and reducing the distance by 100 km (60 miles) will remove about 1 millisecond of latency.
Several factors can add delay to network transmissions. For instance, queuing delay occurs when a gateway receives multiple packets from different sources heading towards the same destination. Since only one packet can typically be transmitted at a time, some of them must be queued for transmission, incurring an additional delay. Likewise, processing delays are incurred while a gateway determines what to do with a newly received packet. Buffering can also cause increased delays of an order of magnitude or more. The combination of propagation, queuing, and processing delays often result in a complex and variable network latency profile.
Jitter is one of the biggest enemies of network transmissions. Despite being easy to explain, understanding how and why it can have such an adverse effect on data transmissions is somewhat more complicated. In its simplest expression, jitter is a variation in delay. There are several factors that can cause jitter. In fact, many of the same delay-causing factors we just discussed can also cause jitter. For example, queuing delays are directly related to queue length. And since a typical queue constantly varies in length, so does delay, hence jitter.
But jitter does not affect all network traffic in the same way. The risk that is posed by jitter is that, if delays vary considerably between the multiple packets that compose a message, they could arrive at their destination out of sequence. Let’s take, for example, a transmission comprised of four packets that are transmitted at 10 ms intervals. The first one encounters 20 ms of latency, the second one 60 ms, the third one 40 ms and the last one 20 ms. I’ll spare you the boring math but in such a situation the first packet will arrive first, followed by the fourth, then the third and finally the second. In many situations, this isn’t a problem. For example, if we’re dealing with a file transfer, the packets are sequentially numbered and can easily be reassembled in the proper order at the receiving end. On the other hand, if what we have is real-time traffic such as a VoIP conversation, we’re in trouble as packets cannot be correctly reassembled in real-time, resulting in garbled audio. From a user’s standpoint, we’re having a performance issue.
Packet loss is another major factor affecting perceived network performance. Networks are not perfect and, from time to time, data packets don’t make it to their destination for various reasons. When this happens to TCP traffic, it is not much of an issue as the receiving end can request a retransmission of the missing data. It will, however, cause some delay and increase the data volume. With UDP traffic, things are not so good. A lost packet will be lost forever. In a VoIP conversation, that would result in audio dropouts which, if too severe, can render speech unintelligible. In both cases, it is very clear that packet loss will have an impact on perceived performance.
The Best Tools To Measure Throughput
Among all the tools that are available to monitor and measure network performance, some are better than others at measuring throughput. Those are the tools we’re about to review. The tools below use different methods to measure throughput. Some will use network management and analysis protocols such as SNMP or NetFlow while others will perform various types of stress tests.
SolarWinds has carved itself a solid reputation for making some of the best network monitoring tools. And as is that wasn’t enough, the company is also famous for its many free tools that address specific needs of network administrators such as Kiwi Syslog Server or the Advanced Subnet Calculator.
But when it comes to network bandwidth and throughput, the SolarWinds Network Bandwidth Analyzer Pack is what you need. The platform provides comprehensive bandwidth analysis and performance monitoring using SNMP monitoring and the flow monitoring that is built into most routers. With this product, you can detect, diagnose, and resolve network performance issues. You can also monitor and analyze bandwidth performance and traffic patterns. And finally, you can test network throughput from a single, customizable console.
The SolarWinds Network Bandwidth Monitor Pack includes two different tools. First, there’s the SolarWinds Network Performance Monitor. This is SolarWinds’ flagship product for monitoring network usage. The tool’s primary purpose is SNMP bandwidth monitoring but it can do much more. At its core, it offers comprehensive fault monitoring and performance management. The tool primarily uses SNMP for data collection and is thereby compatible with networking equipment from most vendors. Furthermore, its NetPath feature lets you view the critical network path between any two monitored points on your network and the tool can also auto-generate intelligent network maps.
- FREE TRIAL: SolarWinds Network Bandwidth Analyzer Pack
- Official Download Link: https://www.solarwinds.com/network-bandwidth-analyzer-pack/registration
Advanced alerting is another of the product’s strong suits and so is its PerfStack performance analysis dashboard. Another exclusive feature is the Network Insights functionality which allows for complex device monitoring. Talking about more complex use cases, the tool can monitor Software Defined Networks (SDN) and it has built-in Cisco ACI support as well the ability to monitor wireless networks and to generate network performance baselines.
The other component of this pack is the SolarWinds NetFlow Traffic Analyzer. This powerful tool uses the NetFlow protocol to collect detailed information on what the observed traffic is. It can, for instance, report on what type of traffic is more frequent or what user or device is using the most bandwidth. Different views are available on the tool’s dashboard such as top applications, top protocols or top talkers, for instance. The tool will support most NetFlow variants from different manufacturers.
Here are some of the SolarWinds NetFlow Traffic Analyzer’s best features:
- It can be used to can monitor network usage by application, protocol, and IP address group.
- It will monitor Cisco NetFlow, Juniper J-Flow, sFlow, Huawei NetStream, and IPFIX flow data to identify which applications and protocols are the top bandwidth consumers.
- It will collect traffic data, correlate it into a usable format, and present it on its web-based user interface
- It can help you identify which applications and categories consume the most bandwidth for better network traffic visibility and it has support for Cisco NBAR2.
The SolarWinds Network Bandwidth Analyzer Pack is licensed based on the number of nodes, interfaces, or volumes you have to monitor. Pricing is not readily available and you’ll need contact SolarWinds to get a quote adapted to your exact needs. If you’d prefer to try the product before purchasing it, a 30-day fully functional free trial is available for download.
The iperf series of tools can be used to determine the maximum throughput of IP networks. It features various tunable parameters related to timing, protocols, and buffers, allowing you to customize the job to your exact needs. For each test, iperf3 reports the measured throughput, loss, and other parameters.
Iperf3 offers many improvements over previous versions and it now incorporates a number of features found in other tools such as nuttcp and netperf. These useful features were missing from the previous iperf. For example, this version has a zero-copy mode and an optional JSON output. Note that iperf3 is not backward compatible with the original iperf.
Iperf3 is mainly developed by ESnet / Lawrence Berkeley National Laboratory. It is released under a three-clause BSD license. Primarily developed on CentOS Linux, FreeBSD, and OS X, these are the only officially supported platforms. There have been, however, some reports of success with OpenBSD, Android, and other Linux distributions.
Note that the previous version of iperf, iperf2, is still actively developed by another organization. If you want the best functionality, though, you should use iperf3 which can be downloaded from its GitHub home.
3. LAN Speed Test
Despite its name, LAN Speed Test from Totusoft won’t only test Local Area Networks. It was designed from the ground up to be a simple but powerful tool for measuring file transfer, hard drive, USB Drive, and LAN speeds. The tool works by calculating the time requires to move a known amount of data. If you select a local hard drive or USB storage devices as its destination, it will measure that device’s throughput. On the other hand, if you select a remote storage location, it will measure the network throughput.
LAN Speed Test builds the test file in memory then transfers it both ways (without the adverse effects of Windows/Mac file caching) while keeping track of the time required to complete the transfer. It then does all the calculations for you.
There is also an option to transfer the file to a remote computer running the LAN Speed Test Server. This can be useful as it ascertains that what you are measuring is really the LAN throughput and that any latency in the remote host storage subsystem is ignored. Just like the LAN Speed Test tool, the LAN Speed Test Server will store the received data in memory rather than to disk.
LAN Speed Test is available in a feature-reduced free version or in a paid version starting at $10 for a single license with volume discounts for multiple copies.
NetStress is a tool that specializes in measuring throughput on wireless networks. It is a two-component tool with a client and a server and it will effectively measure throughput between the two. So, it can be used for wired networks as well.
The recommended usage for this tool is to first use it to establish a benchmark of a network’s performance. Then, when issues are reported and you suspect that performance has degraded, you run it again and compare the results to the benchmark. This will tell you if there’s actually an issue with throughput and indicate the steps required to fix it. This actually where the tool’s wireless specialization comes in.
NetStress is loaded with features. First, there’s only one tool that can be either the server or the client. It will also support both TCP and UDP data transfers with variable segment size and it will support multiple data streams. It also has several advanced parameters that can be adjusted to your liking. For instance, you can choose the display units to be in bits or bytes per second.
5. TamoSoft Throughput Test
The TamoSoft Throughput Test is the only tool on our list that is advertised as a throughput test tool. It is a freeware tool. This means that while it is available for free it is not open source. The tool works by continuously sending TCP and UDP data streams across your network and computing important metrics. It will, for instance, calculate upstream and downstream throughput values, packet loss, and round-trip time. The software displays the results in both numeric and chart formats.
The TamoSoft Throughput Test supports both IPv4 and IPv6 connections and allows the user to evaluate network performance depending on the Quality of Service (QoS) settings. Like a few other tools on our list, this is a two components tool with a server and a client.
Here’s how the tools work: The client part connects to the server part which is listening for connections. Once the connection is made, the client and server exchange data in both directions and the client part of the application then computes and displays the network metrics. This is rather simple but it does an excellent job of measuring actual throughput.
The TamoSoft Throughput Test is freeware and TamoSoft also offers a full-fledged solution for WLAN performance analysis that is called TamoGraph Site Survey.
Last on our list is IxChariot from Ixia, the software branch of Keysight, maker of some of the world’s most renown electronics test equipment. IxChariot is actually way more than just a throughput measurement tool, it is a complete network analysis solution with countless advanced features. It will measure throughput—it wouldn’t be on this list otherwise—but it will do much more.
This product will let you instantly assess network performance, including wireless performance and geo-location. Its performance Endpoints will run on mobile devices, PCs, Macs or in any hypervisor or cloud service and allow for central management of any platform. The software delivers full application emulation and key performance metrics, including throughput, packet loss, jitter, delay, MOS, and OTT videos like Netflix or YouTube.
This is a top-level product that carries a top-level price which can only be obtained by requesting a formal quote. And while a free trial version is not available, a free online demo is.