Throughput–or more precisely network throughput as this is what we’re going to be talking about–is a measure of a circuit’s capacity to transport data. It is usually expressed in bits per second and it gives an idea of the amount of data that can be transmitted by unit of time. Today, we’re reviewing the best tools to measure throughput. Some of you may be wondering why anyone would need such a tool. After all, isn’t a 100 Mbps circuit’s throughput 100 Mbps? Well, not always, hence the need for tools to measure it.
We’ll start our exploration by having an in-depth look at throughput. We’ll tell you what it is and what it is not. We’ll then try to address the common confusion between bandwidth and throughput. They are related but not the same. Then we’ll talk about factors having an adverse effect on throughput. Our next order of business will be to make sure everyone is on the same page about bits and bytes and that we all understand what Throughput figures really mean. With all this behind us, we’ll reveal some of the best Throughput measuring tools we could find, followed by a brief discussion on the specific tools used to measure Internet Throughput.
What is Throughput?
According to Wikipedia, “throughput is the maximum rate of production or the maximum rate at which something can be processed”. This is a bit generic, though, and what we’re really interested in is network throughput. So, referring back to the popular online encyclopedia, it is further defined, in the context of telecommunications, as “the rate of successful message delivery over a communication channel”. We’re getting closer to our goal of defining throughput.
In computer networking terms, throughput usually refers to a circuit or a link’s maximum capacity to move data. Its value is expressed in bits per second (bps), often using multipliers such as kilo, mega, or giga. Throughput is what you’re often paying for. For instance, you expect a 100 Mbps LAN interface to have a throughput of 100 Mbps. Similarly, if you have a 20 Mbps connection to the Internet, you expect its throughput to be 20 Mbps.
The exact definition of Throughput is not exactly clear but, for the purpose of our discussion, we’ll assume that it is the true measure of a network circuit’s capacity to carry data. In simpler terms, it is the maximum achievable bandwidth of a circuit. If we compare the circuit to a highway–as we often do–the throughput is the number of cars it can carry per hour.
Are Throughput and Bandwidth The Same?
So, considering our attempted definition of throughput, you might jump to the conclusion that throughput and bandwidth are one and the same. And if we look at definitions of network bandwidth and network throughput, you’ll see many similarities. In fact, the bandwidth definition of one person can be the throughput definition of another and this can make it seem like the terms are loosely interchangeable.
We don’t think they are interchangeable. But in reality, what we think doesn’t really matter. Or at least, it should not matter much to you. What matters is that we agree on what will be called what in this article. So, for the remainder of our discussion, we’ll refer to throughput as the MAXIMUM data carrying capacity of a circuit and we’ll refer to bandwidth as the CURRENT rate of data that a circuit carries. So, the measured bandwidth of a circuit with a 100 Mbps throughput could be as low as 1 Mbps. In fact, it could be zero.
Factors Affecting Throughput
So, if throughput is the maximum carrying capacity of a circuit, it shouldn’t vary, right? Well, it actually does vary. In fact, it is important to distinguish between maximum throughput and actual throughput. Let’s explain. We’ll take as an example the throughput of a data path between a server in one data center and another server in another data center. Obviously, we’d be tempted to believe that the path’s throughput will be that of the segment of the path with the lowest throughput. But while it is true that it will never be higher than that, it could be lower. Each and every device between the source and the destination can add some delays that will, in turn, adversely affect throughput.
Network overutilization and the resulting congestion can also affect throughput. If we go back to the highway analogy, we all know that a busy highway runs much slower that one with little traffic. The same is true of congested networks.
Don’t confuse Bits And Bytes
Knowing the maximum throughput of a circuit or path to a destination should enable one to calculate how much time will be needed to transfer a file of a given size. But you have to be careful that you get your apples and oranges straight.
Throughput is typically measured in bits per second (bps), kilobits per second (kbps), megabits per second (Mbps) and gigabits per second (Gbps). And there is some confusion as to what the kilo, mega and giga prefixes mean. Under the S.I. standard, these prefixes indicate multiplication by 1,000 (kilo), 1,000,000 (mega), and 1,000,000,000 (giga).
As for file sizes, they are typically measured in bytes, kilobytes, megabytes, and gigabytes, where a byte is eight bits. Nowadays, the kilo, mega, and giga prefixes have the same S.I. standard meanings which are in accordance with the 1998 International Electrotechnical Commission (IEC) standards. However, many still use the older binary convention which defines a kilobyte is as 1 024 bytes. Consequently, a file size of 1 megabyte is 1 024 × 1 024 (or 1 048 579) bytes, and 1 gigabyte is 1 024 × 1 024 × 1 024 (or 1 073 741 824) bytes.
The important thing to note here is that the difference between the S.I. gigabyte and the old-school binary gigabyte is almost 74 megabytes. So, when trying to compute the time required to transfer any amount of data, you have to know if the file size and throughput figures are using S.I. or binary prefixes.
Getting Your Numbers Straight
It’s not unusual for people to abbreviate commonly used expressions. For instance, we’ll often refer to a 64 kilobytes file as a 64 k file or refer to a 100 megabytes file as a 100 meg file. We also often do the same when talking about circuit throughput. So, we’ll refer to a 256 kilobits per second circuit as a 256 k circuit or a 2 Mbps circuit as a 2 meg circuit. Of course, this means you have to be careful when computing transfer times as file sizes are measured in bytes while a circuit’s throughput is measured in bits.
If we take, for example, a 64 k file. It is actually 64 × 1,024 (assuming we’re using binary multipliers) × 8 bits in size for a total of 524 288 bits. Likewise, a 64 k circuit will transmit bits at a rate of 64 × 1,000 or 64 000 bps. Therefore, the amount of time taken to transmit a 64 k file over the 64 k circuit will be at least 524 288/64 000 or 8.192 seconds. Many people wrongfully assume that a “k” is always the same and will conclude that a 64 k file will take 1 second to transmit over a 64 k circuit.
The Best Tools To Measure Throughput
Among all the tools that are available to monitor and measure network performance, some are dedicated to measuring throughput. Those are the tools we’re about to review. The tools below use different methods to measure throughput. Some will use analysis protocols such as SNMP or NetFlow while others will perform stress tests.
SolarWinds has gained a solid reputation for making some of the best network monitoring tools. The US-based company is also famous for its many free tools which address specific needs of network administrators such as a TFTP server or a subnet calculator.
The company also has a solution for throughput analysis in its Network Bandwidth Analyzer Pack. This is not a stand-alone product, though, but rather an add-on to either the SolarWinds Network Performance Monitor, one of the best SNMP monitoring tools or the SolarWinds NetFlow Traffic Analyzer, an excellent NetFlow collector and analyzer.
So, let’s see what the Network Bandwidth Analyzer pack has to offer. The product offers comprehensive network throughput analysis and performance monitoring. It will thus monitor and analyze network performance and throughput. It will also help find network faults and monitor the availability and performance of devices and collect flow data for throughput measurement.
The software can also help you identify bandwidth-hogging users and applications, determine which users, applications, or network protocols are using the most bandwidth, validate network traffic prioritization policies and measure the effectiveness of QoS policies.
The SolarWinds Network Bandwidth Pack is licensed based on the largest number of nodes, interfaces, or volumes. You must contact SolarWinds to get a quote. Since it’s an add-on to either NPM or NTA, you’ll have to factor in the cost of one of these as well. If you’d prefer to try the product before purchasing it, a free trial is available.
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. TotuSoft LAN Speed Test
Despite its name, LAN Speed Test 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.
Netstress can be downloaded for free from nutsaboutnets.com, its publisher’s website.
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.
Here are some of the key features of the product. It 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.
About Internet Throughput Testing
Before we end our discussion, there’s another popular type of network throughput measuring tool we’d like to talk about. They are Internet speed testing tools. These tools will let you measure quite accurately the maximum upload and download throughput you’re getting from your Internet Service provider.
There are several such tools available and Speedtest by Ookla is likely one of the most popular. It is used for over ten million unique tests every day. Since its founding in 2006, a total of more than 20 billion tests have been taken with Speedtest. What drives the company is a commitment to “providing transparency into the performance of networks”.
Speedtest is currently available as a web-based tool at Speedtest.net and as stand-alone applications that can be downloaded and installed on iOS, Android, OS X, Windows, Google Chrome, and Apple TV.
There are other similar tools that you can use for that purpose too. Most big Internet Service providers have one that their clients can use. However, I’d stay away from those and would normally prefer a third-party tool for its unbiased approach.