How to measure network throughput with Iperf
Do you have a data center and want to know the real throughput of the network? In this post, we will show you how to measure it using Iperf on a variety of operating systems!
In this post, you will see how to install Iperf3 and how to use it to measure the throughput of the network.
Iperf installation
In this guide, we are using the latest version of Iperf. If you want to use older one instead, install iperf instead of iperf3.
Debian/Ubuntu
The installation process on Debian based Linux distributions requires to install just one package which is iperf or iperf3. You can do it easily by running the following commands as the administrator:
apt-get update apt-get install iperf3
Fedora/CentOS/RHEL/SL/Oracle Linux
In .rpm based distributions you can use DNF or YUM to install iperf3. Run one of those as the administrator:
dnf install iperf3
or
yum install iperf3
Iperf server
To run iperf server you need to simply type:
iperf3 -s
or iperf -s if you installed iperf instead of iperf3. By default, the server is listening on port 5201. If you prefer to change the port you can run:
iperf -s -p 2323
Iperf client node
To measure the throughput of your network you need to run iperf client node which will connect to Iperf server. You need to be sure that your firewall will let Iperf connect to the server. You can use IP or hostname to connect to Iperf server. If you changed the port to non-default, you can adjust it here with -p option.
iperf3 -c server_hostname iperf3 -c server_hostname -p 2323 iperf3 -c mfsmaster
Iperf is by default using TCP packets, if you want to use UDP instead just add -u or –udp option:
iperf3 -c server_hostname -u iperf3 -c server_hostname --udp
Sample results
Here are sample results for two hosts in Google Cloud. Both hosts are 1 vCPU machines located in europe-west1-b.
Server side
iperf3 -s ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 10.132.0.2, port 43314 [ 5] local 10.132.0.3 port 5201 connected to 10.132.0.2 port 43316 [ ID] Interval Transfer Bandwidth [ 5] 0.00-1.00 sec 205 MBytes 1.72 Gbits/sec [ 5] 1.00-2.00 sec 236 MBytes 1.98 Gbits/sec [ 5] 2.00-3.00 sec 236 MBytes 1.98 Gbits/sec [ 5] 3.00-4.00 sec 236 MBytes 1.98 Gbits/sec [ 5] 4.00-5.00 sec 236 MBytes 1.98 Gbits/sec [ 5] 5.00-6.00 sec 233 MBytes 1.96 Gbits/sec [ 5] 6.00-7.00 sec 229 MBytes 1.92 Gbits/sec [ 5] 7.00-8.00 sec 236 MBytes 1.98 Gbits/sec [ 5] 8.00-9.00 sec 236 MBytes 1.98 Gbits/sec [ 5] 9.00-10.00 sec 236 MBytes 1.98 Gbits/sec [ 5] 10.00-10.05 sec 12.5 MBytes 1.97 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 5] 0.00-10.05 sec 0.00 Bytes 0.00 bits/sec sender [ 5] 0.00-10.05 sec 2.28 GBytes 1.94 Gbits/sec receiver ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------
Client side
iperf3 -c mfsmaster Connecting to host mfsmaster, port 5201 [ 4] local 10.132.0.2 port 43316 connected to 10.132.0.3 port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 219 MBytes 1.84 Gbits/sec 1 3.01 MBytes [ 4] 1.00-2.00 sec 236 MBytes 1.98 Gbits/sec 0 3.01 MBytes [ 4] 2.00-3.00 sec 236 MBytes 1.98 Gbits/sec 0 3.01 MBytes [ 4] 3.00-4.00 sec 236 MBytes 1.98 Gbits/sec 0 3.01 MBytes [ 4] 4.00-5.00 sec 236 MBytes 1.98 Gbits/sec 0 3.01 MBytes [ 4] 5.00-6.00 sec 233 MBytes 1.95 Gbits/sec 0 3.01 MBytes [ 4] 6.00-7.00 sec 229 MBytes 1.92 Gbits/sec 0 3.01 MBytes [ 4] 7.00-8.00 sec 236 MBytes 1.98 Gbits/sec 0 3.01 MBytes [ 4] 8.00-9.00 sec 236 MBytes 1.98 Gbits/sec 0 3.01 MBytes [ 4] 9.00-10.00 sec 236 MBytes 1.98 Gbits/sec 0 3.01 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 2.28 GBytes 1.96 Gbits/sec 1 sender [ 4] 0.00-10.00 sec 2.28 GBytes 1.95 Gbits/sec receiver iperf Done.
Summary
We installed Iperf on a variety of operating systems. Then we ran Iperf server using default and non-default port. Finally, we benchmarked the throughput of the network using Iperf client. The result we get from the experimental setup in Google Cloud is 1.95 Gbps.
Measure your throughput to check how fast MooseFS can be in your data center!
Not yet started with MooseFS? Check the installation instructions for your operating system here!