Testing Network Throughput with iPerf: A Comprehensive Guide
Introduction
Bandwidth testing from Azure to Onprem, for Network performance is a critical aspect of ensuring that your applications and services run smoothly, especially in scenarios where you need to transfer data between different locations or environments. One powerful tool for measuring network throughput is iPerf. In this guide, we will explore how to use iPerf to test and validate network throughput, step by step.
What is iPerf?
iPerf is an open-source command-line tool that allows you to measure the maximum TCP and UDP bandwidth performance between two endpoints, typically a client and a server. It’s widely used by network administrators and engineers to diagnose network issues, optimize network configurations, and ensure that the available bandwidth meets the required performance criteria. This tool can help us in Bandwidth testing from Azure to Onprem or onprem to Azure.
Scenario: Diagnosing an Azure Site-to-Site VPN
Imagine this scenario: Your organization has set up an Azure Site-to-Site VPN to connect an on-premises network to an Azure Virtual Network. You have a virtual machine (VM) in Azure, named “AzureVM,” with the IP address “172.10.0.7.” On the on-premises side, you have a system named “OnPremSystem” with the IP address “192.168.16.36.” However, you suspect that the VPN tunnel is not working as expected, and you want to validate its bandwidth performance.
Installing iPerf
Before we dive into testing network throughput, you’ll need to install iPerf on both the client (OnPremSystem) and server (AzureVM) machines. You can download the iPerf executable for various operating systems from the official iPerf website. Installation is nothing but extracting the two files place it in a folder and change the directory to that folder and you are ready.
Download location https://iperf.fr/iperf-download.php
Running iPerf in Server Mode
To get started, you need to set up AzureVM as the server. On AzureVM, run the following command:
iperf3.exe -s
This starts iPerf in server mode, waiting for incoming client connections.
Running iPerf in Client Mode from OnPremSystem
On OnPremSystem, use the following command to initiate the network throughput test:
iperf3.exe -c 172.10.0.7
Replace “172.10.0.7” with the IP address of AzureVM. This command will start the test.
[ ID] Interval Transfer Bitrate
[ 4] 0.00-10.00 sec 25.6 MBytes 21.5 Mbits/sec sender
[ 4] 0.00-10.00 sec 25.6 MBytes 21.5 Mbits/sec receiver
You can use -t -30 so that 30 lines you will get with -t continuous results
iperf3.exe -c 172.10.0.7 -t -30
Measuring Bandwidth
After the test is completed, iPerf will display the results, including the measured bandwidth in Mbps. You can interpret this result to determine the available bandwidth between OnPremSystem and AzureVM.
Limiting Bandwidth
If you want to limit the iPerf test to a specific bandwidth, you can use the -b option followed by the desired bandwidth value. For example, to limit the test to 40 Mbps, use:
iperf3.exe -c 172.10.0.7 -b 40M
Conclusion
iPerf is a powerful tool for measuring network throughput and optimizing network performance. In our scenario, we used iPerf to validate the bandwidth performance of an Azure Site-to-Site VPN connecting “OnPremSystem” to “AzureVM.”
By following the steps outlined in this guide and customizing them to your specific scenario, you can effectively use iPerf to diagnose network issues, optimize your network infrastructure, and ensure that your applications and services run smoothly.
Now that you’ve learned how to use iPerf, you have a valuable tool at your disposal for maintaining and optimizing your network infrastructure.
Read More documentation on the commands use case here https://iperf.fr/iperf-doc.php#3doc