Validating Network Performance with a Throughput Test
In the following weeks, our sponsor NetAlly will continue to share some tips that will help you troubleshoot your network faster. This second tip shows us how to move beyond basic connectivity tests by validating network throughput with the iPerf tool or the Network Performance Test.
The core job of a network is to reliably transport data from one point to another, as quickly as possible. If this is accomplished, end users can experience applications and services without skips, lags, and delays induced by the network.
However, when a problem does strike, engineers want to quickly determine if the blame lies on the network or not. Better yet, they should proactively baseline the network before problems start! One way to do that is to test the network path using tools such as iPerf or the Network Performance Test from NetAlly. Let’s look at both tools and see how they can help us spot network problems quickly.
iPerf is an open source software tool that performs a network throughput test between two endpoints. It must be installed on both ends of the connection under test. One end will act as a server, opening a service on the default port of TCP 5201 or 5001, depending on the version in use. The other end will act as a client, which initiates the connection to the server and runs the test. There are a number of options that can be used with iPerf, such as: UDP streams rather than TCP, bi-directional (versus one-way), custom TCP windowing, TCP MSS adjustment (maximum segment size), multi-threading, and many more.
However, iPerf is not without its downsides. Since test traffic from both sides is generated from unknown hardware and software stacks, it is common for iPerf to be limited in the throughput it can achieve. Rarely is it able to truly fill a network pipe, especially on multi-gigabit connections or in high-performance data centers.
In cases where we want to truly validate the maximum performance of the network, it is essential to utilize hardware-based throughput tests that do not suffer from the limitations of “off-the-shelf” endpoints.
Network Performance Test
The EtherScope™ nXG provides two ways to stress-test the network - the Network Performance Test app or the built-in iPerf app. Both tests require some type of endpoint on the other side. The iPerf app requires a software iPerf server on the other side, just like the standard test does. In the case of the Network Performance Test, the source device can connect to up to four remote endpoint devices for simultaneous connection testing. The remote endpoint can be a software reflector, a hardware reflector, or a remote peer. Let’s discuss the differences in the three types of endpoints for the Network Performance Test.
This is a software application that can be freely downloaded from the NetAlly website and loaded on a Windows 7 and above device. There is no licensing limit on the number of software reflectors that may be downloaded and deployed. The software reflector provides an easy means of configuring a device to act as an endpoint for the Network Performance app on the EtherScope™ nXG.
Being a reflector, the software will take any packet received, flip the source and destination MAC and IP addresses, then send that packet back to the source. On the EtherScope™ nXG, this will show up as a roundtrip test result.
Due to the limitations often suffered by software on a laptop or unknown device, the software reflector is not recommended for throughput rates above 100Mbps. Above this rate, it is difficult to determine if any packet loss is the result of the endpoint reflector device dropping packets or the network itself. This test is best used for doing lower-throughput pre-deployment testing of networks for services such as VoIP.
A hardware reflector functions much the same as the software reflector. The main difference is that a hardware reflector can process packets at full line rate. This ensures that any loss observed in the test is the result of the network dropping packets, not the test instrument itself. The LinkRunner AT 2000 and the LinkRunner G2 from NetAlly both act as hardware reflectors for the EtherScope nXG and will reflect traffic at up to 1Gbps.
Unlike a reflector, the use of a peer allows the performance metrics to be tested in both directions. The endpoint will generate its own traffic stream back to the initiating tester, rather than just reflecting the same stream back to the source. If packet loss is observed, it can be determined that loss occurred on the way to the peer or on the way back (bi-directional). In addition, remote peers can support asymmetrical data rates. This will allow traffic patterns to be created that better simulate actual application traffic, such as file transfers.
Devices that may be used as peers include OneTouch AT 10G, EtherScope™ nXG, and the NETSCOUT OptiView® XG. Each of these devices may be configured in peer mode and used as an endpoint for the Network Performance app on the EtherScope™ nXG.
The Network Performance Test with a hardware reflector or peer endpoint has the ability to generate and measure line rate traffic, up to 10Gbps, giving it an advantage over iPerf with a software remote. Metrics include packet loss and overall throughput capacity, latency, jitter, and QoS. When a problem strikes, engineers can validate network throughput without needing to consider whether the test is limited or if the network is really impacted by a problem.
Whether you are using iPerf on both ends or (preferably) the EtherScope nXG Performance Testing app, throughput testing is a great way to ensure your network is capable of transporting application traffic from end-to-end without packet loss and high latency. These tests will help to quickly determine whether the network is to blame (or evidence to the contrary) when application performance suffers.