Difference between revisions of "Iperf"

From SME Server
Jump to navigationJump to search
 
Line 3: Line 3:
 
Iperf is a modern alternative for measuring TCP and UDP bandwidth performance,
 
Iperf is a modern alternative for measuring TCP and UDP bandwidth performance,
 
allowing the tuning of various parameters and characteristics.  
 
allowing the tuning of various parameters and characteristics.  
 +
 +
https://github.com/esnet/iperf
  
 
Features:  
 
Features:  
Line 20: Line 22:
  
 
=== Installation ===
 
=== Installation ===
You need to activate the [[Dag]] reposity before installing this contrib.<br />
 
  
see [[dag|dag repository]] <br />
+
Install direct from upstream repos
 +
 
 +
yum install iperf3
 +
 
 +
{{Note box| Some distros carry both iperf v2 and iperf3}}
 +
 
 +
=== Usage ===
 +
 
 +
To use iperf you need  a server and a client
 +
 
 +
On the 'server' run
 +
 
 +
iperf3 -s
 +
 
 +
On the client run:
 +
 
 +
iperf3 -c ip.of.iperf.server
 +
 
 +
Output:
 +
 
 +
<pre>
 +
Connecting to host 192.168.11.1, port 5201
 +
[  5] local 192.168.11.100 port 46926 connected to 192.168.11.1 port 5201
 +
[ ID] Interval          Transfer    Bitrate        Retr  Cwnd
 +
[  5]  0.00-1.00  sec  113 MBytes  952 Mbits/sec    0  1.11 MBytes
 +
[  5]  1.00-2.00  sec  111 MBytes  933 Mbits/sec    0  1.11 MBytes
 +
[  5]  2.00-3.00  sec  111 MBytes  933 Mbits/sec    0  1.11 MBytes
 +
[  5]  3.00-4.00  sec  111 MBytes  933 Mbits/sec    0  1.11 MBytes
 +
[  5]  4.00-5.00  sec  112 MBytes  944 Mbits/sec    0  1.11 MBytes
 +
[  5]  5.00-6.00  sec  111 MBytes  933 Mbits/sec    0  1.11 MBytes
 +
[  5]  6.00-7.00  sec  111 MBytes  933 Mbits/sec    0  1.17 MBytes
 +
[  5]  7.00-8.00  sec  111 MBytes  933 Mbits/sec    0  1.17 MBytes
 +
[  5]  8.00-9.00  sec  111 MBytes  933 Mbits/sec    0  1.17 MBytes
 +
[ 5]  9.00-10.00  sec  111 MBytes  933 Mbits/sec    0  1.17 MBytes
 +
- - - - - - - - - - - - - - - - - - - - - - - - -
 +
[ ID] Interval          Transfer    Bitrate        Retr
 +
[  5]   0.00-10.00  sec  1.09 GBytes  936 Mbits/sec    0            sender
 +
[  5]  0.00-10.00  sec  1.09 GBytes  933 Mbits/sec                  receiver
 +
 
 +
iperf Done.
 +
</pre>
 +
 
 +
Note that by default iperf3 uses port 5201.
 +
 
 +
We can change that:
 +
 
 +
iperf3 -p 11111 -s
 +
 
 +
iperf3 -p 11111 -c ip.of.iperf.server
 +
 
 +
{{Note box|This will be OK on your local LAN but you will need to modify firewalls to use outside your LAN which is beyond the scope of this HowTo.}}
 +
 
 +
Be very careful to note the differences between MBs and Mbs particularly when checking your ISP bandwidth.
 +
 
 +
8 Mbs = 1 MBs
 +
 
 +
A Gigabit network is likely to have around 950Mbits/sec
  
This contrib can be found in the [http://wiki.contribs.org/Dag Dag] repository.
+
===Uninstall===
To install this contrib get shell access as root user and issue the following command:
 
yum install iperf --enablerepo=dag
 
  
 +
yum remove iperf3
  
 
----
 
----
 
[[Category: Howto]]
 
[[Category: Howto]]
 
[[Category:Administration:Monitoring]]
 
[[Category:Administration:Monitoring]]

Latest revision as of 16:29, 9 March 2022

Description

Internet Protocol bandwidth measuring tool Iperf is a modern alternative for measuring TCP and UDP bandwidth performance, allowing the tuning of various parameters and characteristics.

https://github.com/esnet/iperf

Features:

  • Measure bandwidth, packet loss, delay jitter
  • Report MSS/MTU size and observed read sizes.
  • Support for TCP window size via socket buffers.
  • Multi-threaded. Client and server can have multiple simultaneous connections.
  • Client can create UDP streams of specified bandwidth.
  • Multicast and IPv6 capable.
  • Options can be specified with K (kilo-) and M (mega-) suffices.
  • Can run for specified time, rather than a set amount of data to transfer.
  • Picks the best units for the size of data being reported.
  • Server handles multiple connections.
  • Print periodic, intermediate bandwidth, jitter, and loss reports at specified intervals.
  • Server can be run as a daemon.
  • Use representative streams to test out how link layer compression affects your achievable bandwidth.

Installation

Install direct from upstream repos

yum install iperf3


Important.png Note:
Some distros carry both iperf v2 and iperf3


Usage

To use iperf you need a server and a client

On the 'server' run

iperf3 -s

On the client run:

iperf3 -c ip.of.iperf.server

Output:

Connecting to host 192.168.11.1, port 5201
[  5] local 192.168.11.100 port 46926 connected to 192.168.11.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   113 MBytes   952 Mbits/sec    0   1.11 MBytes
[  5]   1.00-2.00   sec   111 MBytes   933 Mbits/sec    0   1.11 MBytes
[  5]   2.00-3.00   sec   111 MBytes   933 Mbits/sec    0   1.11 MBytes
[  5]   3.00-4.00   sec   111 MBytes   933 Mbits/sec    0   1.11 MBytes
[  5]   4.00-5.00   sec   112 MBytes   944 Mbits/sec    0   1.11 MBytes
[  5]   5.00-6.00   sec   111 MBytes   933 Mbits/sec    0   1.11 MBytes
[  5]   6.00-7.00   sec   111 MBytes   933 Mbits/sec    0   1.17 MBytes
[  5]   7.00-8.00   sec   111 MBytes   933 Mbits/sec    0   1.17 MBytes
[  5]   8.00-9.00   sec   111 MBytes   933 Mbits/sec    0   1.17 MBytes
[  5]   9.00-10.00  sec   111 MBytes   933 Mbits/sec    0   1.17 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.09 GBytes   936 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.09 GBytes   933 Mbits/sec                  receiver

iperf Done.

Note that by default iperf3 uses port 5201.

We can change that:

iperf3 -p 11111 -s
iperf3 -p 11111 -c ip.of.iperf.server


Important.png Note:
This will be OK on your local LAN but you will need to modify firewalls to use outside your LAN which is beyond the scope of this HowTo.


Be very careful to note the differences between MBs and Mbs particularly when checking your ISP bandwidth.

8 Mbs = 1 MBs

A Gigabit network is likely to have around 950Mbits/sec

Uninstall

yum remove iperf3