How to Measure Network and Disk Throughput with IPERF3

FileCatalyst is a file transfer acceleration tool. Like any software, it is still limited by the performance of the hardware and the network on which it is used. If you are trying to achieve speeds faster than 1 Gbps, with FileCatalyst, read on.

If you already know you’ll need to transfer files faster than 1Gbps, before installing FileCatalyst use IPERF3 to ensure your system is clean and has no bottlenecks.

A tool like IPERF3 can be used to identify the bottlenecks or problems that might occur during  transfer. IPERF3 is a free open-source tool that is widely used for measurements of the maximum achievable throughput between point-to-point connections and it can be used with TCP and UDP protocols.

Bottlenecks can occur when trying to transfer files to and from different locations. Poor throughput can happen either at the network level or the storage level (normally when writing and reading from disk). IPERF3 helps troubleshoot these problems, before you even install FileCatalyst. IPERF3 can also be used to validate that your firewall is properly configured to allow FileCatalyst to work at optimal speed.

IPERF3 probing will save a lot of time during the installation and configuration of FileCatalyst, firewall configuration, and storage configuration. Therefore, we recommend having clean IPERF3 logs before attempting to install FileCatalyst.


  • Install IPERF3 tools in the machines you want to test.
  • Have access to both machines where you will run the tests. Also we recommend using the same machines where FileCatalyst Server and FileCatalyst Client will be installed.
  • Make sure you allow UDP traffic (to guarantee we will able to use acceleration).

We recommend running IPERF3 under this two scenarios:

  1. For new installations and when leading a proof of concept (POC).
  2. To troubleshoot performance problems.

Related Reading: What is IPERF and What’s the Difference Between IPERF and IPERF3?

IPERF3 Command Line Syntax

 The general syntax to run the test is described below:

  1. Server side commands: iperf3 -s [ options ]
  2. Client side commands: iperf3 -c <server’s IP> [ options ]

Where some of the options are listed:

General IPERF3 commands:

IPERF3 Command Line Option Description
-f, –format [kmKM]


A letter specifying the format to print bandwidth numbers in. Supported formats are

‘k’ = Kbits/sec           ‘K’ = KBytes/sec

‘m’ = Mbits/sec           ‘M’ = MBytes/sec

-J, –json Output in JSON format

Server-only IPERF3 commands:

IPERF3 Command Line Option Description
-F, –file name Server-side: read from the network and write to the file, instead of throwing the data away.

Client-only IPERF3 commands:

IPERF3 Command Line Option Description
-F, –file name Client-side: read from the file and write to the network, instead of using random data;
-u, –udp Use UDP rather than TCP.
-b, –bandwidth n[KM] Set target bandwidth to n bits/sec (default 1 Mbit/sec for UDP, unlimited for TCP). If there are multiple streams (-P flag), the bandwidth limit is applied separately to each stream. A must when testing UDP
-R, –reverse Run in reverse mode (server sends, client receives).
-t, –time n The time in seconds to transmit for. Default is 10 seconds.

For more information
, please see the official site:

Please note for the test listed in the following section, the server used has IP and the client has IP.

Network Tests: IPERF3 Examples

UDP throughput:

Server: iperf -s



Client: iperf3 -c -P 2 -t 10 -b 1G -u


udp throughput client 2

With these results, we can see:

  • Packet loss
  • If UDP traffic is allowed
  • The network jitter (Jitter is the variation in the delay of received packets, as a result of network congestion, improper queuing, etc.)

TCP throughput:

Under certain circumstances, we might need to test TCP throughput, most likely to check the multi-stream TCP behavior. If this is necessary, you can use the examples below as a reference.

Server: iperf3 -s

tcp throughput server 1

tcp throughput server 2

Client: iperf3 -c -P 2 -t 30. This test will run 2 TCP streams during 30s.


client side iperf3

Disk Tests: IPERF3 Examples

Disk testing using IPERF3: Disk to Memory

If you run the test multiple times, make sure of the following:

  • Using a different file every time you run OR
  • Use a command to clear the cache of the tiles:
    sync; echo 3 > /proc/sys/vm/drop_caches** (as root user)
    Use the right command for your OS

For this test, 52GB and 20GB files were used, running from the client to the server machine.

For the first test, run the test as we did before using the following commands:

  • Server: iperf3 -s
  • Client: iperf3 -c -i2 -t30 -b 1G -u

Using a 20GB file:

Server: iperf3 -s


Client: iperf3 – c 172.20.722 -f /home/administrator/Desktop/ -i2  -u  -b 1G -t30


Using a 52GB file:

Server: iperf3 -s


iperf3  -c  -f /home/administrator/Desktop/ -i2  -u  -b 1G -t30


Disk testing using IPERF3: Memory to Disk

The test will be performed the same as Disk to memory test, however the main difference is instead of using a file on client side, this will be from Server side as is shown allow:

Server:  iperf3 -s  -f /home/administrator/Desktop/
Client: iperf3  -c  -i2  -u  -b 1G -t30

Important Note: both Test 3 and Test 4 will run until the end of the file or the end of the test duration and the slowest of the results will show the bottleneck.

See How FileCatalyst Fits Your Organization

FileCatalyst is a file acceleration solution that streamlines and secures your data transfers, no matter the size or distance. Start a trial to see how FileCatalyst can help your organization today.

Start a Free Trial