Testing Transfer Speed with iPerf

It can be helpful to determine the fastest achievable transfer speed based on bandwidth throughput when determining potential transfer speed. Signiant recommends using iPerf to test the maximum bandwidth and speed achievable between a source and a destination by sending packets over a network.

This test should be performed between the source and destination using ports required for data transfer, either prior to server installation, or by stopping Signiant services on both servers to conduct the test.

Stop your Signiant services by running siginit stop at the command line.

Note: If your services cannot be stopped, tests can be performed using ports other than those used for file transfer. Configure your firewall as required.

Download iPerf for your operating system on both the transfer source and destination.

Receiving Server

The destination, typically an SDCX server, can be configured to receive packets via iPerf to determine if firewall rules are correctly configured and the maximum achievable transfer speed and bandwidth.

To prepare the server for the test:

  1. Connect to the destination server using SSH or another remote access tool.

  2. Download and install iPerf on the server.

  3. Start iPerf in server mode listening on a file transfer port:

    iperf3 -s -p <port>

Once the server is running on port 49321 (Media Shuttle) or port 50221 (Jet), it is ready to receive packets from the source.

Command Reference

  • -s sets the application to run as a server that will receive packets
  • -p <port> sets the port number to listen on for packets

Source

Once a destination server is running, iPerf can be used on the source machine to test transfer speed and bandwidth between a Media Shuttle user and an SDCX server, or between two SDCX servers.

To test connection speeds using iPerf:

  1. Download and install iPerf on the server.
  2. Open the terminal or command line.

    Note: If testing between SDCX servers, connect to the server using SSH or another remote access tool.

  3. Start iPerf in client mode, and configure test parameters as required:

    iperf3 -c <destination> -u -p <port> -t <duration> -i 2 -b <bandwidth>

Command Reference

  • -c - sets iPerf to run as a client
  • <destination> - sets the destination server IP
  • -u - sets the transfer protocol to UDP
  • -p <port> - sets the destination port (49321 or 50221)
  • -t <duration> - sets the test duration
  • -i 2 - sets the interval in seconds between bandwidth reports (2 seconds)
  • -b <bandwidth> - sets the bandwidth allocated to the test

Command Example

iperf3 -c 203.0.113.4 -u -p 49221 -t 60 -i 2 -b 100M

You can also use the -n option to set a specific total transfer size instead of a transfer time:


iperf3 -c 203.0.113.4 -u -p 49221 -n 2056M -i 2 -b 100M

Interpreting Results

100% Packet Loss

Transfers with 100% packet loss typically indicates that the source or destination firewall is not configured correctly, or the servers are not able to connect to each other via the network. Ensure that your firewall is configured correctly and that both machines are connected to the network.

Partial Packet Loss

Transfers that fail to transfer a small percentage of packets can indicate that the bandwidth allocated exceeds network capacity. Lowering the bandwidth typically reduces the number of lost packets, helping to determine your optimal transfer speed.

Note: Signiant transfers account for partial packet loss and, within the 1-3% range, throttle the transfer speed to ensure transfer success.

Calculating Potential Transfer Speeds

In addition to the network environment, transfer rates to file systems are constrained by the destination server's disk access speed. This impacts large data sets of small files because each file is written to disk when transferred.

Other factors that may impact the transfer rates for data sets comprised of small files include the application of access-control lists (ACLs), the number of tasks vying for disk space, and the number of errors generated and logged.

Note: A caching disk controller on the destination server will not increase the transfer speed.

Required Calculation Variables
  • Your disk's average seek time in msec

  • Your disk's average rotational latency in msec

  • Your total transfer data size in MB

  • Number of files to transfer

  • Available bandwidth in bits/second

To calculate the potential transfer rate:


  1. Calculate the average file size in bytes:
  2. (total data size x 1024 x 1024)/(number of files in the transfer)


  3. Calculate the maximum number files which can be written per second:
  4. (1000/((disk's average seek time + disk's average rotational latency) x 2)


  5. Calculate the maximum theoretical transfer rate in bytes per second
  6. (calculated average file size) x (calculated maximum file size)


Example Calculation

  • Seek Time - 9 msec
  • Rotational Latency - 1 msec
  • Total Transfer Data Size - 4000 MB
  • Number of Files - 55 000 000
  • Available Bandwidth - 700 000 000 bits/second

Average file size in bytes: (4000 x 1024 x 1024) / (55 000 000) = 76


Maximum files written per second: 1000 / ((9+1) x 2)) = 50


Maximum theoretical transfer rate in bytes per second: 76 x 50 = 3800


Was this page helpful?
About SigniantSigniant’s intelligent file movement software helps the world’s top content creators and distributors ensure fast, secure delivery of large files over public and private networks. Built on Signiant’s patented technology, the company’s on-premises software and SaaS solutions move petabytes of high-value data every day between users, applications and systems with proven ease.LEARN MORE