Knowledge Base

How to test available network bandwidth using 'iperf'

Article Summary: This article provides information on how to test available network bandwidth.

How to test available network bandwidth

1. Download the iperf utility. A copy can be found at
2. On the server that will be receiving data, open an elevated command window and run the following command: "iperf.exe –s –w 2m".
3. On the server that will be sending data, open an elevated command window and run the following command: "iperf –c x.x.x.x –w 2m –t 30s –i 1s". Replace the x.x.x.x with the IP address of the server from step 2.
4. Review the data returned on the server from step 3. The output should look similar to the below text:

C:\Users\some_user\Downloads>iperf -c xx.xx.xx.xx -w 2m -t 30s -i 1s
Client connecting to xx.xx.xx.xx, TCP port 5001
TCP window size: 2.00 MByte
[156] local xx.xx.xx.xx port 53724 connected with xx.xx.xx.xx port 5001
[ ID] Interval Transfer Bandwidth
[156] 0.0- 1.0 sec 113 MBytes 945 Mbits/sec
[156] 1.0- 2.0 sec 112 MBytes 944 Mbits/sec
[156] 2.0- 3.0 sec 113 MBytes 945 Mbits/sec
[156] 28.0-29.0 sec 113 MBytes 945 Mbits/sec
[156] 29.0-30.0 sec 112 MBytes 944 Mbits/sec
[156] 0.0-30.3 sec 3.30 GBytes 945 Mbits/sec

Additional Information:

Iperf is a commonly used network testing tool that can create TCP and UDP data streams and measure the throughput of a network that is carrying them.

Iperf allows the user to set various parameters that can be used for testing a network, or alternatively for optimizing or tuning a network. Iperf has a client and server functionality, and can measure the throughput between the two ends, either unidirectionally or bi-directionally. It is open source software and runs on various platforms including Linux, Unix and Windows.

The example commands above run a unidirectional test with a buffer size of two megabytes. The test runs for 30 seconds and displays results every second. For a more advanced test see the full syntax below.

General options:

-f, --format
[kmKM] format to report: Kbits, Mbits, KBytes, MBytes

-h, --help
print a help synopsis

-i, --interval n
pause n seconds between periodic bandwidth reports

-l, --len n[KM]
set length read/write buffer to n (default 8 KB)

-m, --print_mss
print TCP maximum segment size (MTU - TCP/IP header)

-o, --output <filename>
output the report or error message to this specified file

-p, --port n
set server port to listen on/connect to to n (default 5001)

-u, --udp
use UDP rather than TCP

-w, --window n[KM]
TCP window size (socket buffer size)

-B, --bind <host>
bind to <host>, an interface or multicast address

-C, --compatibility
for use with older versions does not sent extra msgs

-M, --mss n
set TCP maximum segment size (MTU - 40 bytes)

-N, --nodelay
set TCP no delay, disabling Nagle's Algorithm

-v, --version
print version information and quit

-V, --IPv6Version
Set the domain to IPv6

-x, --reportexclude
[CDMSV] exclude C(connection) D(data) M(multicast) S(settings)
V(server) reports

-y, --reportstyle C|c
if set to C or c report results as CSV (comma separated values)

Server specific options:

-s, --server
run in server mode

-U, --single_udp
run in single threaded UDP mode

-D, --daemon
run the server as a daemon

Client specific options:

-b, --bandwidth n[KM]
set target bandwidth to n bits/sec (default 1 Mbit/sec). This
setting requires UDP (-u).

-c, --client <host>
run in client mode, connecting to <host>

-d, --dualtest
Do a bidirectional test simultaneously

-n, --num n[KM]
number of bytes to transmit (instead of -t)

-r, --tradeoff
Do a bidirectional test individually

-t, --time n
time in seconds to transmit for (default 10 secs)

-F, --fileinput <name>
input the data to be transmitted from a file

-I, --stdin
input the data to be transmitted from stdin

-L, --listenport n
port to recieve bidirectional tests back on

-P, --parallel n
number of parallel client threads to run

-T, --ttl n
time-to-live, for multicast (default 1)

-Z, --linux-congestion <algo>
set TCP congestion control algorithm (Linux only)

Sources: Wikipedia and Manpagez

Quick Tips content is self-published by the Dell Support Professionals who resolve issues daily. In order to achieve a speedy publication, Quick Tips may represent only partial solutions or work-arounds that are still in development or pending further proof of successfully resolving an issue. As such Quick Tips have not been reviewed, validated or approved by Dell and should be used with appropriate caution. Dell shall not be liable for any loss, including but not limited to loss of data, loss of profit or loss of revenue, which customers may incur by following any procedure or advice set out in the Quick Tips.

Article ID: SLN156921

Last Date Modified: 11/06/2017 01:20 PM

Rate this article

Easy to understand
Was this article helpful?
Yes No
Send us feedback
Comments cannot contain these special characters: <>()\
Sorry, our feedback system is currently down. Please try again later.

Thank you for your feedback.