Check Network Bandwidth2026/06/22 |
|
Install Iperf to Check Network Bandwidth. |
|
| [1] | Install [iperf3] on both Hosts. |
|
root@node01:~# apt -y install iperf3
|
| [2] | Run the command on Receiver Host like follows. It's possible to specify the listening port to add [-p (port number)] if you need. If port not specified. default port [5201] is used. |
|
root@node01:~# iperf3 -s ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- |
| [3] | Check Network Bandwidth to run the command on Sender Host like follows. The example below shows that 21.6 GBytes data are transferred and the bandwidth was 18.6 Gbits/sec. |
|
root@node02:~# iperf3 -c node01.srv.world Connecting to host node01.srv.world, port 5201 [ 5] local 10.0.0.52 port 36518 connected to 10.0.0.51 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 4.40 GBytes 37.7 Gbits/sec 0 1.95 MBytes [ 5] 1.00-2.00 sec 4.23 GBytes 36.3 Gbits/sec 0 2.17 MBytes [ 5] 2.00-3.00 sec 4.21 GBytes 36.1 Gbits/sec 0 2.17 MBytes [ 5] 3.00-4.00 sec 4.13 GBytes 35.5 Gbits/sec 0 3.12 MBytes [ 5] 4.00-5.00 sec 4.12 GBytes 35.4 Gbits/sec 0 4.17 MBytes [ 5] 5.00-6.00 sec 4.13 GBytes 35.4 Gbits/sec 0 4.17 MBytes [ 5] 6.00-7.00 sec 4.09 GBytes 35.2 Gbits/sec 0 4.17 MBytes [ 5] 7.00-8.00 sec 4.10 GBytes 35.2 Gbits/sec 0 4.17 MBytes [ 5] 8.00-9.00 sec 4.09 GBytes 35.2 Gbits/sec 0 4.17 MBytes [ 5] 9.00-10.00 sec 4.10 GBytes 35.2 Gbits/sec 0 4.17 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 41.6 GBytes 35.7 Gbits/sec 0 sender [ 5] 0.00-10.00 sec 41.6 GBytes 35.7 Gbits/sec receiver iperf Done. |
| [4] | There are many options to check Network Bandwidth under various cases. |
|
root@node02:~# iperf3 --help
Usage: iperf3 [-s|-c host] [options]
iperf3 [-h|--help] [-v|--version]
Server or Client:
-p, --port # server port to listen on/connect to
-f, --format [kmgtKMGT] format to report: Kbits, Mbits, Gbits, Tbits
-i, --interval # seconds between periodic throughput reports
-I, --pidfile file write PID file
-F, --file name xmit/recv the specified file
-A, --affinity n[,m] set CPU affinity core number to n (the core the process will use)
(optional Client only m - the Server's core number for this test)
-B, --bind <host>[%<dev>] bind to the interface associated with the address <host>
(optional <dev> equivalent to `--bind-dev <dev>`)
--bind-dev <dev> bind to the network interface with SO_BINDTODEVICE
-V, --verbose more detailed output
-J, --json output in JSON format
--json-stream output in line-delimited JSON format
--logfile f send output to a log file
--forceflush force flushing output at every interval
--timestamps<=format> emit a timestamp at the start of each output line
(optional "=" and format string as per strftime(3))
--rcv-timeout # idle timeout for receiving data (default 120000 ms)
--snd-timeout # timeout for unacknowledged TCP data
(in ms, default is system settings)
-d, --debug[=#] emit debugging output
(optional optional "=" and debug level: 1-4. Default is 4 - all messages)
-v, --version show version information and quit
-h, --help show this message and quit
Server specific:
-s, --server run in server mode
-D, --daemon run the server as a daemon
-1, --one-off handle one client connection then exit
--server-bitrate-limit #[KMG][/#] server's total bit rate limit (default 0 = no limit)
.....
.....
|
|
|