Linux环境安装iperf3(网络性能测试工具)
[root@localhost ]# yum search iperf
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.tuna.tsinghua.edu.cn* extras: mirrors.huaweicloud.com* updates: mirrors.tuna.tsinghua.edu.cn
==================================================================== N/S matched: iperf ====================================================================
iperf3-devel.i686 : Development files for iperf3
iperf3-devel.x86_64 : Development files for iperf3
iperf3.i686 : Measurement tool for TCP/UDP bandwidth performance
iperf3.x86_64 : Measurement tool for TCP/UDP bandwidth performance名称和简介匹配 only,使用“search all”试试。
[root@localhost ]#
[root@localhost ]# yum install iperf3
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.tuna.tsinghua.edu.cn* extras: mirrors.huaweicloud.com* updates: mirrors.tuna.tsinghua.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 iperf3.x86_64.0.3.1.7-2.el7 将被 安装
--> 解决依赖关系完成依赖关系解决============================================================================================================================================================Package 架构 版本 源 大小
============================================================================================================================================================
正在安装:iperf3 x86_64 3.1.7-2.el7 base 79 k事务概要
============================================================================================================================================================
安装 1 软件包总下载量:79 k
安装大小:197 k
Is this ok [y/d/N]: y
Downloading packages:
iperf3-3.1.7-2.el7.x86_64.rpm | 79 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : iperf3-3.1.7-2.el7.x86_64 1/1验证中 : iperf3-3.1.7-2.el7.x86_64 1/1已安装:iperf3.x86_64 0:3.1.7-2.el7完毕!
[root@localhost ]# iperf3 -v
iperf 3.1.7
Linux localhost 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64
Optional features available: CPU affinity setting, IPv6 flow label, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing
[root@localhost ]#
[root@localhost ]# iperf3 -h
Usage: iperf [-s|-c host] [options]iperf [-h|--help] [-v|--version]Server or Client:-p, --port # server port to listen on/connect to-f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes-i, --interval # seconds between periodic bandwidth reports-F, --file name xmit/recv the specified file-A, --affinity n/n,m set CPU affinity-B, --bind <host> bind to a specific interface-V, --verbose more detailed output-J, --json output in JSON format--logfile f send output to a log file--forceflush force flushing output at every interval-d, --debug emit debugging output-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-I, --pidfile file write PID file-1, --one-off handle one client connection then exit
Client specific:-c, --client <host> run in client mode, connecting to <host>-u, --udp use UDP rather than TCP-b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)(default 1 Mbit/sec for UDP, unlimited for TCP)(optional slash and packet count for burst mode)--fq-rate #[KMG] enable fair-queuing based socket pacing inbits/sec (Linux only)-t, --time # time in seconds to transmit for (default 10 secs)-n, --bytes #[KMG] number of bytes to transmit (instead of -t)-k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n)-l, --len #[KMG] length of buffer to read or write(default 128 KB for TCP, dynamic or 1 for UDP)--cport <port> bind to a specific client port (TCP and UDP, default: ephemeral port)-P, --parallel # number of parallel client streams to run-R, --reverse run in reverse mode (server sends, client receives)-w, --window #[KMG] set window size / socket buffer size-C, --congestion <algo> set TCP congestion control algorithm (Linux and FreeBSD only)-M, --set-mss # set TCP/SCTP maximum segment size (MTU - 40 bytes)-N, --no-delay set TCP/SCTP no delay, disabling Nagle's Algorithm-4, --version4 only use IPv4-6, --version6 only use IPv6-S, --tos N set the IP 'type of service'-L, --flowlabel N set the IPv6 flow label (only supported on Linux)-Z, --zerocopy use a 'zero copy' method of sending data-O, --omit N omit the first n seconds-T, --title str prefix every output line with this string--get-server-output get results from server--udp-counters-64bit use 64-bit counters in UDP test packets[KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga-iperf3 homepage at: http://software.es.net/iperf/
Report bugs to: https://github.com/esnet/iperf
[root@localhost ]#
iperf官网地址:
iPerf - The TCP, UDP and SCTP network bandwidth measurement tool
iperf特性:
测量带宽
报告MSS/MTU大小和观察到的读数大小。
通过套接字缓冲区支持TCP窗口大小。
UDP
客户端可以创建指定带宽的UDP流。
测量数据包丢失
测量延迟抖动
支持多播
跨平台:Windows、Linux、Android、MacOS X、FreeBSD、OpenBSD、NetBSD、VxWorks、Solaris,。。。
客户端和服务器可以同时具有多个连接(-P选项)。
服务器处理多个连接,而不是在一次测试后退出。
可以运行指定的时间(-t选项),而不是要传输的数据量(-n或-k选项)。
以指定的间隔打印周期性、中间带宽、抖动和损耗报告(-i选项)。
将服务器作为守护程序运行(-D选项)
使用具有代表性的流来测试链路层压缩如何影响可实现的带宽(-F选项)。
服务器同时接受单个客户端(iPerf3)多个客户端同时接受(iPerf2)